首页 > 代码库 > 编程离不开生活

编程离不开生活

[栈和队列] 编程离不开生活,栈就像袋子,先装的东西在下面,后面装的在上面,当然倒出时,也是上面的先出,下面的后面出,这就是所谓的“先进后出,后进先出”栈的原理;而队列就像过安检一样,先安检的先通过,后安检的后通过,这就是队列的思想——“先进先出,后进后出”。

 

例子: 反转一个栈

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());	}}