static void Main(string[] args) { var doubleLinkedList = new DoubleLinkedList <int>(); doubleLinkedList.Add(1); doubleLinkedList.Add(2); doubleLinkedList.Add(3); doubleLinkedList.Add(4); doubleLinkedList.Add(5); doubleLinkedList.Add(6); ShowResult(doubleLinkedList); doubleLinkedList.Delete(3); ShowResult(doubleLinkedList); var reverse = doubleLinkedList.Reverse(); ShowResult(reverse); var circularList = new CircularLinkedList <int>(); circularList.Add(1); circularList.Add(2); circularList.Add(3); circularList.Add(4); circularList.Add(5); circularList.Add(6); ShowResult(circularList); circularList.Delete(6); ShowResult(circularList); Console.ReadLine(); }
static void Main(string[] args) { const int size = 5; int[] vec = new int[size] { 4, 1, 5, 7, 2 }; DoubleLinkedList <int> list = new DoubleLinkedList <int>(); list.AddFirst(vec[1]); list.AddLast(vec[2]); list.AddLast(vec[3]); list.AddFirst(vec[0]); list.AddLast(vec[4]); /* ***** */ Console.WriteLine("\n Input data Test\n-------------------\n"); IDoubleLinkedListNode <int> Temp = list.First; for (int i = 0; i < size; i++) { Assert.AreEqual(vec[i], Temp.Value); Console.WriteLine(" Pos: {0,2}, Value: {1,2}\n", i, Temp.Value); Temp = Temp.Next; } /* ***** */ Console.WriteLine("\n Reverse Test\n----------------\n"); list.Reverse(); Temp = list.First; for (int i = size - 1; i >= 0; i--) { Assert.AreEqual(vec[i], Temp.Value); Console.WriteLine(" Pos: {0,2}, Value: {1,2}\n", (size - 1) - i, Temp.Value); Temp = Temp.Next; } }