static void Main(string[] args) { Node n = new Node(1); n.next = new Node(2); n.next.next = new Node(3); n.next.next.next = new Node(4); ReverseLinkedList r = new ReverseLinkedList(); r.Print(n); r.Reverse(n); r.Print(n); Console.ReadKey(); }
static void Main(string[] args) { var list = new LinkedList <int>(); var rdll = new ReverseLinkedList(); list.Head.data = 1; list.Head.next = new LinkedList <int> .Node <int>(2) { prev = list.Head }; list.Head.next.next = new LinkedList <int> .Node <int>(3) { prev = list.Head.next, }; list.Head.next.next.next = new LinkedList <int> .Node <int>(4) { prev = list.Head.next.next }; list.Head.next.next.next.next = new LinkedList <int> .Node <int>(5) { prev = list.Head.next.next.next }; list.Head.next.next.next.next.next = new LinkedList <int> .Node <int>(6) { prev = list.Head.next.next.next.next, next = null }; PrintList(list); rdll.ReverseDoubly(list); PrintList(list); rdll.ReverseSingly(list); PrintList(list); rdll.ReverseSinglyRecursively(list); PrintList(list); var nodeStruct = new LinkedList <int> .NodeStruct <int>(); ModifyNodeStruct(nodeStruct); // struct is passed by value Console.Write(nodeStruct.data); Console.ReadKey(); }