//Doubly Linked List
class Node
{   Node prev;
    int info;
    Node next;
}
public class DoublyLinkedList
{   Node start, end;
    DoublyLinkedList()
    {   start=end=null;
    }
    void create()
    {   Node ptr=null;
        for(int i=1; i<=5; i++)
        { if(i==1)
            { start=ptr=new Node();
                start.prev=null;
            }
            else
            {   Node save=ptr;
                ptr=ptr.next;
                ptr.prev=save;
            }
            ptr.info=i;
            if(i==5) 
            {   end=ptr;
                ptr.next=null;
            }
            else ptr.next=new Node();
        }
}//create
    void display()
    {   //forward
        for(Node ptr=start; ptr!=null; ptr=ptr.next)
        {   System.out.print(ptr.info+"\t");
        }
        System.out.println();
        //backward
        for(Node ptr=end; ptr!=null; ptr=ptr.prev)
        {   System.out.print(ptr.info+"\t");
        }
        System.out.println();
    }//display
    public static void main()
    {   DoublyLinkedList obj=new DoublyLinkedList();
        obj.create();
        obj.display();
    }
}//class

