只利用一个额外栈实现栈的排序
2016-11-14 17:08
232 查看
package chapter01_stack_and_queue; import java.util.Stack; public class _05_StackSortStack { public static void sortStackByStack(Stack<Integer> stack) { Stack<Integer> stackHelp = new Stack<Integer>(); while(!stack.isEmpty()) { int cur = stack.pop(); while(!stackHelp.isEmpty() && stackHelp.peek() < cur) { stack.push(stackHelp.pop()); } stackHelp.push(cur); } while (!stackHelp.isEmpty()) { stack.push(stackHelp.pop()); } } public static void main(String[] args) { Stack<Integer> stack = new Stack<Integer>(); stack.push(3); stack.push(1); stack.push(6); stack.push(2); stack.push(5); stack.push(4); sortStackByStack(stack); System.out.println(stack.pop()); System.out.println(stack.pop()); System.out.println(stack.pop()); System.out.println(stack.pop()); System.out.println(stack.pop()); System.out.println(stack.pop()); } }
相关文章推荐
- 利用冒泡法实现一个随机数组中的元素排序
- 问题:利用输入输出流重载实现一个整数数组的输入和输出。 要求:输入一个数组大小 及 所有元素的值,排序后输出该数组的所有元素。
- [原创][利用TDC实现表格的排序,过滤,上下条滚动及表格分页]
- 利用"委托"实现对象实例按"多字段嵌套"排序
- 利用HttpModuler实现WEB程序同一时间只让一个用户实例登陆 (转)
- 一个利用客户端空间存储树形导航栏信息,从而实现ajax技术动态导航的雏形
- 实现将dataset已有的一个datatable重新排序(转)
- 利用SQL未公开的存储过程实现分页(更加好用的一个!)
- 利用Dataview实现搜索指定目录下的所有文件,以指定的条件排序(可以按文件名升降序,最后修改时间升降序)
- 利用HttpModuler实现WEB程序同一时间只让一个用户实例登陆
- 利用HttpModuler实现WEB程序同一时间只让一个用户实例登陆
- 一个排序sql的实现
- 利用内核对象----互斥量实现应用程序只运行一个实例
- 利用xmlHttp实现一个简单的Ajax无刷新
- 一个利用堆栈实现的正整数10进制向16进制的转化程序
- 利用"委托"实现对象实例按"多字段嵌套"排序
- 一个实现自动求和/合并单元格/排序的DataGrid
- 利用js实现一个按钮可选择多个事件
- 利用HttpModuler实现WEB程序同一时间只让一个用户实例登陆
- 利用数学方法来大大降低一个逻辑判断实现的难度的例子