Exemple #1
0
        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();
        }
Exemple #2
0
        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();
        }