package edu.mbl.jif.imaging.nav.util;
/**
*
* @author GBH
*/
import java.util.Iterator;
public class ArrayStackOfStrings implements Iterable<String> {
private String[] a; // holds the items
private int N; // number of items in stack
public ArrayStackOfStrings(int max) { a = new String[max]; }
public boolean isEmpty() { return (N == 0); }
public void push(String item) { a[N++] = item; }
public String pop() { return a[--N]; }
public Iterator<String> iterator() { return new ArrayIterator(); }
public class ArrayIterator implements Iterator<String> {
private int i = N-1;
public boolean hasNext() { return i >= 0; }
public String next() { return a[i--]; }
public void remove() { throw new UnsupportedOperationException(); }
}
public static void main(String[] args) {
// int max = Integer.parseInt(args[0]);
// ArrayStackOfStrings stack = new ArrayStackOfStrings(max);
// while (!StdIn.isEmpty()) {
// String item = StdIn.readString();
// if (!item.equals("-")) stack.push(item);
// else if (stack.isEmpty()) StdOut.println("BAD INPUT");
// else StdOut.print(stack.pop() + " ");
// }
// StdOut.println();
//
// // print what's left on the stack
// StdOut.print("Left on stack: ");
// for (String s : stack) {
// StdOut.print(s + " ");
// }
// StdOut.println();
}
}