Ejemplo n.º 1
0
        private static void ResultNodeLinkList(DLinkList linklist)
        {
            Console.WriteLine("Result\n");

            DListNode itr = linklist.m_head;

            for (int i = 1; i <= linklist.m_count; i++)
            {
                Console.WriteLine(itr.m_data);
                itr = itr.m_next;
                if (itr == null)
                {
                    break;
                }
            }

            Console.WriteLine("\n");

            itr = linklist.m_tail;
            for (int i = 1; i <= linklist.m_count; i++)
            {
                Console.WriteLine(itr.m_data);
                itr = itr.m_previous;
                if (itr == null)
                {
                    break;
                }
            }
        }
Ejemplo n.º 2
0
        private static void CheckNullonRemoveNode(DLinkList linklist)
        {
            Console.WriteLine("\nCheck NULL On Remove Node\n");

            if (linklist.m_head.m_previous.m_data == null)
            {
                Console.WriteLine("m_previous of Head Node : NULL");
            }

            if (linklist.m_tail.m_next.m_data == null)
            {
                Console.WriteLine("m_next of Tail Node : NULL");
            }
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            // 1
            Console.WriteLine("1. List Node");
            Console.WriteLine("InsertAfter, InsertBefore\n");
            DListNode list = new DListNode(30);

            list.InsertAfter(50);
            list.InsertAfter(40);
            list.InsertBefore(10);
            list.InsertBefore(20);
            ResultNodeList(list);

            // 2
            Console.WriteLine("\n///////////////////////////////////////////////");
            Console.WriteLine("\n2. Linked List");
            Console.WriteLine("Append, Prepend, RemoveHead, RemoveTail\n");
            DLinkList linklist = new DLinkList();

            linklist.Append(30);
            linklist.Append(40);
            linklist.Append(50);
            linklist.Prepend(20);
            linklist.Prepend(10);
            Console.WriteLine("Head is " + linklist.m_head.m_data + " and Tail is " + linklist.m_tail.m_data + "\n");
            linklist.RemoveHead();
            linklist.RemoveTail();
            ResultNodeLinkList(linklist);
            CheckNullonRemoveNode(linklist);

            // 3
            Console.WriteLine("\n///////////////////////////////////////////////");
            Console.WriteLine("\n3. Iterators");
            Console.WriteLine("Insert, Remove\n");
            Console.WriteLine("The List Contains\n");
            DListIterator itr  = linklist.GetIterator();
            DListNode     node = linklist.m_head;

            linklist.Insert(itr, 25);
            linklist.Remove(itr, node);

            ResultIterator(itr);

            Console.ReadLine();
        }
Ejemplo n.º 4
0
 public DListIterator(DLinkList p_list = null, DListNode p_node = null)
 {
     m_list = p_list;
     m_node = p_node;
 }