Double Linked List

Double Linked List

1. NodeD.java
 package com.nrs.ds.basic;  
 public class NodeD {  
      Object value;  
      NodeD next;  
      NodeD previous;  
      public NodeD(Object value, NodeD next, NodeD previous){  
           this.value = value;  
           this.next = next;  
           this.previous = previous;  
      }  
 }  
2. Double Linked List Implementation
DoubleLinkedListI.java
 package com.nrs.ds.basic;  
 public class DoubleLinkedListI<T> {  
      NodeD head;  
      public DoubleLinkedListI(){  
           head = null;  
      }  
      public void add(Object value){  
           NodeD newNode = new NodeD(value, null,null);  
           if(head == null){  
                head = newNode;  
           }else{  
                newNode.next = head;  
                head.previous = newNode;  
                head = newNode;  
           }  
      }  
      public void delete(){  
           head = head.next;  
           head.previous = null;  
      }  
      public void diplay(){  
           NodeD n=head;  
           while(n != null){  
                System.out.println((T)n.value);  
                n=n.next;  
           }  
      }  
 }  
3. Test
DoubleLinkedListTest .java
 package com.nrs.ds.basic;  
 public class DoubleLinkedListTest {  
      public static void main(String[] args) {  
           DoubleLinkedListI<String> ls = new DoubleLinkedListI<String>();  
           ls.add("Suresh");  
           ls.add("Prem");  
           ls.add("Naresh");  
           ls.add("Akshay");  
           ls.diplay();  
           System.out.println("Before delete");  
           ls.delete();  
           System.out.println("After delete");  
           ls.diplay();  
      }  
 }  

Output:
 

Comments

Popular posts from this blog

Tournament Tree or Winner Tree

Linked List

Heaps