//  Data Structures with Java by John R. Hubbard
//  Copyright McGraw-Hill, 2001
//  Problem 6.8 on page 119
//  Testing a reverse(Stack) method

import java.util.Stack;

public class Pr0608
{ public static void main(String[] args)
  { Stack kids = new Stack();
    kids.push("Sara");
    kids.push("John");
    kids.push("Andy");
    kids.push("Mike");
    System.out.println(kids);
    reverse(kids);  
    System.out.println(kids);
  }
  
  private static void reverse(Stack stack)
  { Stack tempStack1 = new Stack();
    while(!stack.empty())
      tempStack1.push(stack.pop());
    Stack tempStack2 = new Stack();
    while(!tempStack1.empty())
      tempStack2.push(tempStack1.pop());
    while(!tempStack2.empty())
      stack.push(tempStack2.pop());
  }
}
  