public class QueueInt
{
   private int data[] = new int [50];
   int count;
   int head;
   public QueueInt ()
   {
      count = 0;
      head = 0;
   }


   public void enqueue (int value)
   {
      int tail = (head + count) % data.length;
      data [tail] = value;
      count++;
   }


   public int dequeue ()
   {
      int temp = data [head];
      count--;
      head = (head + 1) % data.length;
      return temp;
   }


   public int peek ()
   {
      return data [head];
   }


   public int size ()
   {
      return count;
   }


   public boolean isEmpty ()
   {
      return (count == 0);
   }


   public String toString ()
   {
      //this is NOT an official Queue method
      //it is useful to see what is in your Queue
      int size = count;
      String hold = "";
      for (int i = 0 ; i < size ; i++)
      {
	 int temp = dequeue ();
	 hold += temp + " ";
	 enqueue (temp);
      }
      return hold;
   }
}
