Пример #1
0
        static void Main(string[] args)
        {
            CycleDoubleLinkedList L = new CycleDoubleLinkedList();
            CycleDoubleLinkedList Q = new CycleDoubleLinkedList();

            L.Create(new int[] { 1, 2, 3, 9, 10 });
            Q.Create(new int[] { 5, 6, 7, 8, 6 });
            L.Print(Q);
        }
Пример #2
0
        public void Print(CycleDoubleLinkedList Q)
        {
            DoubleNode p = Head.Next;

            while (p != Head)
            {
                Console.Write(p.Info + " ");
                p = p.Next;
            }
        }
Пример #3
0
        public void Test(CycleDoubleLinkedList Q)
        {
            DoubleNode p  = Head.Next;
            DoubleNode q  = Q.Head.Next;
            DoubleNode q1 = Q.Head.Next.Next;

            while (p != Head && q.Next != Q.Head)
            {
                if (q1 != Head)
                {
                    q.Next      = p.Next;
                    p.Next.Prev = q;
                    q.Prev      = p;
                    p.Next      = q;
                    p           = p.Next.Next;
                    q           = q1;
                    q1          = q1.Next;
                }
            }
            q.Next      = p.Next;
            p.Next.Prev = q;
            q.Prev      = p;
            p.Next      = q;
        }