Guest User

Untitled

a guest
Feb 21st, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 1.47 KB | None | 0 0
  1. public class Queue<T>
  2. {
  3.     private Node<T> head;
  4.     private Node<T> tail;
  5.     private int size;
  6.    
  7.     private class Node<T>
  8.     {
  9.         private T thisElement;
  10.         private Node<T> nextElement;
  11.        
  12.         public Node(T thisElement, Node<T> nextElement)
  13.         {
  14.             this.thisElement = thisElement;
  15.             this.nextElement = nextElement;
  16.         }
  17.     }
  18.    
  19.     public Queue()
  20.     {
  21.         tail = new Node<T>(null, null);
  22.         head = new Node<T>(null, tail);
  23.         size = 0;
  24.     }
  25.    
  26.     public boolean isEmpty()
  27.     {
  28.         return size == 0;
  29.     }
  30.    
  31.     public T peek()
  32.     {
  33.         if(size == 0)
  34.         {
  35.             return null;
  36.         }
  37.         else
  38.         {
  39.             return head.thisElement;
  40.         }
  41.     }
  42.    
  43.     public boolean offer(T element)
  44.     {
  45.         if(size == 0)
  46.         {
  47.             head.thisElement = element;
  48.             size++;
  49.         }
  50.         else if(size == 1)
  51.         {
  52.             tail.thisElement = element;
  53.             size++;
  54.         }
  55.         else
  56.         {
  57.             Node<T> temp = new Node<T>(element, null);
  58.             tail.nextElement = temp;
  59.             tail = temp;
  60.         }
  61.        
  62.         return true;   
  63.     }
  64.    
  65.     public T pool()
  66.     {
  67.         if(size == 0)
  68.         {
  69.             return null;
  70.         }
  71.         else if(size == 1)
  72.         {
  73.             return head.thisElement;
  74.         }
  75.         else
  76.         {
  77.             T tempElement = head.thisElement;
  78.             head = head.nextElement;
  79.             return tempElement;
  80.         }
  81.     }
  82.    
  83.     public static void main(String [] args)
  84.     {
  85.         Queue<String> q = new Queue<String>();
  86.         String a = "1";
  87.         String b = "2";
  88.         String c = "3";
  89.         String d = "4";
  90.        
  91.         q.offer(a);
  92.         q.offer(b);
  93.         q.offer(c);
  94.         q.offer(d);
  95.        
  96.         System.out.println(q.pool() + q.pool() + q.pool() + q.pool());
  97.        
  98.        
  99.     }
  100. }
Add Comment
Please, Sign In to add comment