public class QueueString
{
   private String data[] = new String [50];
   int count;
   int head;
   public QueueString ()
   {
      count = 0;
      head = 0;
   }


   public void enqueue (String value)
   {
      int tail = (head + count) % data.length;
      data [tail] = value;
      count++;
   }


   public String dequeue ()
   {
      String temp = data [head];
      count--;
      head = (head + 1) % data.length;
      return temp;
   }


   public String 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++)
      {
	 String temp = dequeue ();
	 hold += temp + " ";
	 enqueue (temp);
      }
      return hold;
   }
}
