Double Linked Node Class public class Double Linked
Double Linked Node Class public class Double. Linked. Node{ private String info = new String(); private Double. Linked. Node next. Left = null; private Double. Linked. Node next. Right = null; public Double. Linked. Node(Double. Linked. Node next. Left, String info, Double. Linked. Node next. Right){ this. next. Left = next. Left; this. info = info; this. next. Right = next. Right; } public Double. Linked. Node(String info){ this. next. Left = null; this. info = info; this. next. Right = null; }
Double Linked Node Class public void set. Next. Right(Double. Linked. Node right){ this. next. Right = right; } public void set. Next. Left(Double. Linked. Node left){ this. next. Left = left; } public Double. Linked. Node get. Next. Right(){ return this. next. Right; } public Double. Linked. Node get. Next. Left(){ return this. next. Left; }
Double Linked Node Class public void set. Info (String new. Info){ this. info = new. Info; } public String get. Info(){ return this. info; } }
Double Ended Queue Class import java. io. *; public class Double. Ended. Queue{ private Double. Linked. Node leftmost; private Double. Linked. Node rightmost; public Double. Ended. Queue (){ leftmost = null; rightmost = null; }
Double Ended Queue Class public void add. Node. Left(Double. Linked. Node DLNode){ if(leftmost == null){ leftmost = DLNode; rightmost = DLNode; } else{ leftmost. set. Next. Left(DLNode); DLNode. set. Next. Right(leftmost); leftmost = DLNode; } }
Double Ended Queue Class public void add. Node. Right(Double. Linked. Node DLNode){ if(rightmost == null){ rightmost = DLNode; leftmost = DLNode; } else{ rightmost. set. Next. Right(DLNode); DLNode. set. Next. Left(rightmost); rightmost = DLNode; } }
Double Ended Queue Class public void remove. Node. Left(){ if(leftmost!=null){ leftmost = leftmost. get. Next. Right(); leftmost. set. Next. Left(null); } } public void remove. Node. Right(){ if(rightmost!=null){ rightmost = rightmost. get. Next. Left(); rightmost. set. Next. Left(null); } }
Double Ended Queue Class public String write. List. Right. Left(){ String s = ""; Double. Linked. Node cursor = rightmost; while(cursor != null){ s = (s+"n "+(cursor. get. Info())); cursor = cursor. get. Next. Left(); } return s; }
Double Ended Queue Manager Class public class DEQmanager{ public static void main (String arg[ ]){ Double. Ended. Queue deq = new Double. Ended. Queue( ); int i = 0; for (i = 1; i<=5; i++){ deq. add. Node. Right(new Double. Linked. Node(""+ i)); } ///for System. out. println("printing left to right" ); System. out. println(deq. write. List. Left. Right( )); System. out. println("printing right to left" ); System. out. println(deq. write. List. Right. Left( )); }//end of main method } //end of class
- Slides: 9