| 
0102
 03
 04
 05
 06
 07
 08
 09
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 
 | package algs13;
import stdlib.*;
public class XReverseQueue {
  public static void main(String[] args) {
    Trace.drawStepsOfMethod ("main");
    Trace.run ();
    Queue<String> q = new Queue<> ();
    q.enqueue ("a");
    q.enqueue ("b");
    q.enqueue ("c");
    q.enqueue ("d");
    Stack<String> stack = new Stack<>();
    while (!q.isEmpty())
      stack.push(q.dequeue());
    while (!stack.isEmpty())
      q.enqueue(stack.pop());
    
    // another version with temporaries:
//    while (!q.isEmpty()) {
//      String x = q.dequeue ();
//      stack.push(x);
//    }
//    while (!stack.isEmpty()) {
//      String x = stack.pop ();
//      q.enqueue(x);
//    }
  }
}
 |