看到 http://bbs.csdn.net/topics/390843046 这里的关于一个栈的问题:
stack的存储方式是:属于线性类型,则存储方式遵循:先进后出,后进先出;
看以下代码及结果:
public static void main(String[] args) {
Stack s = new Stack();
s.add("apple");
s.add("banana");
s.add("org");
s.add("cat");
while(s.size()>0){
System.out.println(s.pop());
}
}
栈反转:
public static void reverseStack(Stack s){
Queue r = new LinkedList();
//r.offer() 是将指定队列插到r中
//s.pop是 移除堆栈顶部的对象,并作为此函数的值返回该对象。
while(s.size()>0) r.offer(s.pop());
//s.push() 把项压入堆栈顶部。
//r.poll() 获取并移除此队列的头