Пример #1
0
        internal DoubleNode GetLastNode(DoubleLinkedList list)
        {
            DoubleNode temp = list.head;

            while (temp.next != null)
            {
                temp = temp.next;
            }
            return(temp);
        }
Пример #2
0
        internal void InsertFront(DoubleLinkedList doubleLinkedList, int data)
        {
            DoubleNode newNode = new DoubleNode(data);

            newNode.next     = doubleLinkedList.head;
            newNode.previous = null;
            if (doubleLinkedList.head != null)
            {
                doubleLinkedList.head.previous = newNode;
            }
            doubleLinkedList.head = newNode;
        }
Пример #3
0
        internal void InsertLast(DoubleLinkedList doubleLinkedList, int data)
        {
            DoubleNode newNode = new DoubleNode(data);

            if (doubleLinkedList.head == null)
            {
                newNode.previous      = null;
                doubleLinkedList.head = newNode;
                return;
            }
            DoubleNode lastNode = GetLastNode(doubleLinkedList);

            lastNode.next    = newNode;
            newNode.previous = lastNode;
        }
Пример #4
0
        internal void InsertAfter(DoubleNode prev_node, int data)
        {
            if (prev_node == null)
            {
                Console.WriteLine("The given prevoius node cannot be null");
                return;
            }
            DoubleNode newNode = new DoubleNode(data);

            newNode.next     = prev_node.next;
            prev_node.next   = newNode;
            newNode.previous = prev_node;
            if (newNode.next != null)
            {
                newNode.next.previous = newNode;
            }
        }
Пример #5
0
 public DoubleNode(int d)
 {
     data     = d;
     previous = null;
     next     = null;
 }