[栈和队列] 编程离不开生活,栈就像袋子,先装的东西在以下,后面装的在上面,当然倒出时,也是上面的先出,以下的后面出,这就是所谓的“先进后出,后进先出”栈的原理。而队列就像过安检一样,先安检的先通过。后安检的后通过,这就是队列的思想——“先进先出。后进后出”。
样例: 反转一个栈
import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;
public class QuickTestMain {
/**
* @param args
* @author: --LJH--2014-8-7下午4:23:31
* @return: void
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Stack items = new Stack();
items.push("he"); // he is at the bottom of the stack
items.push("saw");
items.push("a");
items.push("racecar");
reverseStack(items); // now he is at the top
// print in order pushed:
while (items.size() > 0)
System.out.println(items.pop());
}
public static void reverseStack(Stack stack) {
Queue rev = new LinkedList();
while (stack.size() > 0)
rev.offer(stack.pop());
while (rev.size() > 0)
stack.push(rev.poll());
}
}