21、请用JAVA实现两个类,分别实现堆栈(Stack)和队列(Queue)操作。 public class MyStack { private List list; public MyStack(){ list = new ArrayList(); } public boolean isEmpty(){ return list.size() == 0; } public void push(Object obj){ list.add(obj); } public Object pop(){ if(list.size()>0){ Object obj = list.get(list.size()-1); list.remove(list.size()-1); return obj; }else{ return null; }} //上stack 下queue public int getNumber(){ return list.size(); } } class IntegerQueue { public int[] integerQueue;// 用来当队列 public int tail;// 队尾 public int size;// 队的长度,也可以设置一个默认值,溢出时从新申请 public IntegerQueue(int size) { integerQueue = new int[size]; this.size = size; tail = 0; } public void inQueue(int i) { if (tail < size) { this.integerQueue[tail] = i; tail++; } else { System.err.println("溢出啦!"); } } public int outQueue() { if (tail >= 0) { int tmp = this.integerQueue[0]; tail--; return tmp; } else { System.err.println("队列为空!"); throw new RuntimeException(); } } }