static void Main(string[] args) { SingleLinkedList linkedList = new SingleLinkedList(); linkedList.InsertFront(linkedList, 2); // We add one and the head will have data of 2 in it; // the next property will be null as its the end linkedList.InsertFront(linkedList, 3); // if we add another this becomes the head // and next becomes the data node with 2 in it // and its next is null var node = linkedList.FindNode(linkedList, 3); linkedList.InsertAfter(node, 4); var myNode = linkedList.FindNode(linkedList, 2); linkedList.InsertAfter(myNode, 7); linkedList.DeleteNodebyKey(linkedList, 2); linkedList.ReverseLinkedList(linkedList); BinaryTree binaryTree = new BinaryTree(); // this gets added to the root because there are no other nodes // if data is less than it goes on the left. // if its more then it goes on the right.. // so as we are searching - if the value of the data < this node then go left // if value of data > this node then go right // and progress down the tree to find a space for the data // Each pass cuts data in half and improves performance.. binaryTree.Add(1); binaryTree.Add(2); binaryTree.Add(7); binaryTree.Add(3); binaryTree.Add(10); binaryTree.Add(5); binaryTree.Add(8); // what happens if we already have the value binaryTree.Add(1); AvlTree tree = new AvlTree(); tree.Add(5); tree.Add(3); tree.Add(7); tree.Add(2); tree.Delete(7); tree.DisplayTree(); // LIFO so Stack <FootballTeam> stackOfFootballTeams = new Stack <FootballTeam>(); stackOfFootballTeams.Push(new FootballTeam() { Name = "Manchester United", ShirtColor = "Red", Stadium = "Old Trafford" }); stackOfFootballTeams.Push(new FootballTeam() { Name = "Liverpool", ShirtColor = "Red", Stadium = "Anfield" }); var count = stackOfFootballTeams.Count; // so first out will be liverpool var item = stackOfFootballTeams.Pop(); // This is a queue so FIFO Queue <FootballTeam> queueOfFootballTeams = new Queue <FootballTeam>(); queueOfFootballTeams.Enqueue(new FootballTeam() { Name = "Manchester United", ShirtColor = "Red", Stadium = "Old Trafford" }); queueOfFootballTeams.Enqueue(new FootballTeam() { Name = "Liverpool", ShirtColor = "Red", Stadium = "Anfield" }); // This will be man united. var footballTeam = queueOfFootballTeams.Dequeue(); Console.ReadLine(); }
static void Main(string[] args) { List <int> NumberArray = new List <int> { 79, 69, 9, 95, 65, 49, 65, 40, 27, 95 }; //Sorted List elements foreach (int n in MergeSort.DivideSortList(NumberArray)) { //Console.Write(n + " "); } //Console.WriteLine(MergeSort.DivideArray(NumberArray).LastOrDefault()); /************** * * START QUEUE * * ************/ CustomQueue q = new CustomQueue(); CustomQueue.IsEmpty(); CustomQueue.Dequeue(); CustomQueue.Enqueue(10); CustomQueue.Enqueue(20); CustomQueue.Enqueue(30); CustomQueue.Enqueue(40); CustomQueue.Enqueue(50); CustomQueue.Enqueue(60); CustomQueue.Dequeue(); CustomQueue.Dequeue(); CustomQueue.Dequeue(); CustomQueue.Dequeue(); CustomQueue.Dequeue(); CustomQueue.Dequeue(); CustomQueue.Peek(); Console.WriteLine(q.ToString()); /************** * * END OF QUEUE * * ************/ /*** * Stack implementation */ /*Stack MyStack = new Stack(5); * MyStack.Push(20); * MyStack.Push(10); * MyStack.Push(1); * MyStack.Push(6); * MyStack.Push(12); * MyStack.Push(76); * Console.WriteLine(MyStack.ToString()); * //MyStack.Pop(); * //MyStack.Pop(); * //MyStack.Pop(); * Console.WriteLine(MyStack.ToString());*/ /************** * * END OF STACK * * ************/ /************** * * PRIME NUMBERS * * ************/ //Console.WriteLine ("PRIME NUMBER OPERATIONS"); //Console.WriteLine("Is 4567679111 a Prime Number " + PrimeNumbers.IsPrime(456767911)); //PrimeNumbers.PrintPrimeNumberBtn100and500(); /****** * LINKEDLIST * * ********/ SingleLinkedList singleLinkedList = new SingleLinkedList("Initial Value"); singleLinkedList.AddNodeFirst("Samuel1"); singleLinkedList.AddNodeFirst("Samuel2"); singleLinkedList.AddNodeFirst("Samuel3"); singleLinkedList.AddNodeFirst("Samuel4"); //singleLinkedList.PrintListValues(); //singleLinkedList.RemoveFirst(); singleLinkedList.RemoveLast(); singleLinkedList.PrintListValues(); Console.WriteLine("============================Before"); Node matechedNode1 = singleLinkedList.FindNode("Samuel1"); singleLinkedList.AddBefore(matechedNode1, "MaShalby", true); Console.WriteLine("============================After"); singleLinkedList.AddAfter(matechedNode1, "MaShalby", true); // Console.WriteLine("Matched Node= " + matechedNode1.ToString()); Console.WriteLine("List size is: " + singleLinkedList.Size()); Console.WriteLine("End of the first list"); SingleLinkedList singleLinkedList2 = new SingleLinkedList("Initial last value "); Console.WriteLine("AddNodeLast.............: " + singleLinkedList2.Size()); singleLinkedList2.AddNodeLast("last Samuel 2"); singleLinkedList2.AddNodeLast("last Samuel3"); singleLinkedList2.AddNodeLast("last Samuel4"); //singleLinkedList2.AddNodeLast("last AddNodeLast"); //singleLinkedList.Remove("Sam"); Console.WriteLine("AddNodeLast......SIZE.......: " + singleLinkedList2.Size()); //singleLinkedList2.PrintListValues(); //singleLinkedList2.Remove("last Samuel4"); //singleLinkedList2.PrintListValues(); Node matechedNode = singleLinkedList2.FindNode("last Samuel3"); Console.WriteLine("Matched Node= " + matechedNode.ToString()); //Console.WriteLine("Remove Node Above Node: "); singleLinkedList2.PrintListValues(); singleLinkedList2.AddAfter(matechedNode, "SHALBY", true); //singleLinkedList2.PrintListValues(); //singleLinkedList2.removeNode(matechedNode,true); singleLinkedList2.Find("last Samuel3"); //singleLinkedList2.Find("SHALBY"); /******* * BINARY TREE OPERATIONS * * *****/ Console.WriteLine("ADVANCE DATASTRUCTURE"); Console.WriteLine("BINARY TREE"); TreeNode BinaryTree = new TreeNode(19); BinaryTree.Insert(33); BinaryTree.Insert(3); BinaryTree.Insert(9); BinaryTree.Insert(0); BinaryTree.Insert(-1); BinaryTree.Insert(20); //INORDER BinaryTree.PrintInorder(); // Search string IsFound = BinaryTree.Contain(20) == true?"Found":"Not Found"; Console.WriteLine(IsFound); /********* * * Graph Datastructure * * ********/ Console.WriteLine("Graph Opertations"); Graph g = new Graph(4); g.AddEdge(0, 1); g.AddEdge(1, 2); g.AddEdge(2, 3); g.AddEdge(3, 0); // Print Graph Values g.DisplayGraph(); Console.ReadKey(); }