Exemplo n.º 1
0
        public void DeleteNodebyKey(DoublyLinkedList doubleLinkedList, int key)
        {
            Dnode temp = doubleLinkedList.head;

            if (temp != null && temp.data == key)
            {
                doubleLinkedList.head      = temp.next;
                doubleLinkedList.head.prev = null;
                return;
            }
            while (temp != null && temp.data != key)
            {
                temp = temp.next;
            }
            if (temp == null)
            {
                return;
            }
            if (temp.next != null)
            {
                temp.next.prev = temp.prev;
            }
            if (temp.prev != null)
            {
                temp.prev.next = temp.next;
            }
        }
Exemplo n.º 2
0
        private Dnode GetLastNode(DoublyLinkedList doubleList)
        {
            Dnode temp = doubleList.head;

            while (temp.next != null)
            {
                temp = temp.next;
            }
            return(temp);
        }
Exemplo n.º 3
0
        public void InsertFront(DoublyLinkedList doubleLinkedList, int data)
        {
            Dnode newNode = new Dnode(data);

            newNode.next = doubleLinkedList.head;
            newNode.prev = null;
            if (doubleLinkedList.head != null)
            {
                doubleLinkedList.head.prev = newNode;
            }
            doubleLinkedList.head = newNode;
        }
Exemplo n.º 4
0
        public void InsertLast(DoublyLinkedList doubleLinkedList, int data)
        {
            Dnode newNode = new Dnode(data);

            if (doubleLinkedList.head == null)
            {
                newNode.prev          = null;
                doubleLinkedList.head = newNode;
                return;
            }
            Dnode lastNode = GetLastNode(doubleLinkedList);

            lastNode.next = newNode;
            newNode.prev  = lastNode;
        }
Exemplo n.º 5
0
 public Dnode(int d)
 {
     data = d;
     prev = null;
     next = null;
 }
Exemplo n.º 6
0
 public DoublyLinkedList()
 {
     this.head = null;
 }