程序员面试指南之用一个栈实现另一个栈的排序
来源:互联网 发布:校园网络设计思路 编辑:程序博客网 时间:2024/04/24 15:49
题目描述:
解题思路:
假设要排序的栈是sortStack,我们定义一个helpStack。如果sortStack不为空,就pop出栈顶元素value并与helpStack的栈顶元素比较,当helpStack不为空且value比较大时就将helpStack中的元素弹出并压入sortStack中,直到value比较小或相等时才将sortStack中的元素push进helpStack。因为栈的特性是先进后出的,循环此过程,那么helpStack中的元素从栈顶到栈底就是从大到小排序的,这时再将helpStack中的元素push进sortStack就行了。
题解:
public void sortStackByStack(Stack<Integer> sortStack){ Stack<Integer> helpStack = new Stack<>(); int value = sortStack.pop(); while(! sortStack.isEmpty()){ while(! helpStack.isEmpty() && value > helpStack.peek()){ sortStack.push(helpStack.pop()); } helpStack.push(value); } while(! helpStack.isEmpty()){ sortStack.push(helpStack.pop()); } }
0 0
- 程序员面试指南之用一个栈实现另一个栈的排序
- 左神的书——《程序员代码面试指南》之用一个栈实现另一个栈的排序c++实现
- 【栈】用一个栈来实现另一个栈的排序
- 用一个栈实现另一个栈的排序
- 用一个栈实现另一个栈的排序
- 数据结构5 用一个栈实现另一个栈的排序
- 用一个栈实现另一个栈的排序
- 用一个栈来实现另一个栈的排序
- 1_5用一个栈实现另一个栈的排序
- 用一个栈实现另一个栈的排序
- 用一个栈实现另一个栈的排序
- 用一个栈实现另一个栈的排序
- 用一个栈实现另一个栈的排序
- 栈和队列之用一个栈实现另一个栈的排序
- 左神的书——《程序员代码面试指南》之设计一个有getmin功能的栈 c++实现
- 程序员面试指南之设计一个有GetMin功能的栈
- C++ 使用一个栈实现另一个栈的排序
- 程序员面试指南之如何仅用递归函数和栈操作逆序一个栈
- 在jsp中处理表单提交的数据
- JDBC入门
- ssm spring+springmvc+mybatis中的xml配置文件详解
- scala akka 中文译文
- linux、window安装jboss
- 程序员面试指南之用一个栈实现另一个栈的排序
- 2016 ccpc(长春) Sequence I (kmp)
- UWB定位环境搭建
- 威佐夫博弈
- 【Bash百宝箱】认识git
- 大顶堆的C++模板实现及二叉堆的简介
- python textwrap模块
- 线性表的学习之路-2
- RedHat7下安装MySQL