对栈元素进行升序排列
2015-08-31 21:35
197 查看
//写一个算法将栈里的元素升序排列。 //思想:先设一个辅助栈。将原始栈中的数据一次弹入辅助栈,每当要压入的栈顶元素的值 //比辅助栈中的元素值大时,就把辅助栈中的元素压入原始栈,直到辅助栈中的元素都小于原始栈的栈顶元素。 #include<iostream> #include<stack> using namespace std; stack<int> sort(stack<int> s) { stack<int> r;//设一个辅助栈 while(!s.empty()) { int temp = s.top(); s.pop(); while(!r.empty() && r.top()>temp) { s.push(r.top()); r.pop(); } r.push(temp); } return r; } /*void main() { std::stack<int> s(1,5,6,3,4);//VS2010不支持标准库容器的初始化 }*/
相关文章推荐
- 并查集
- Jquery基础
- POJ3252 Round Numbers【组合问题】
- linux源码包安装过程
- android传递数据方式3--通过剪切板传类
- 软件测试概念与基本流程
- ARM 体系结构与汇编指令
- java学习笔记之面向对象
- DP hduHDU 5119
- Testlink实验心得
- Mysql安装与配置
- 使用vmware虚拟机安装virt-manager unable to connect to libvirt的处理办法
- 《暗时间》读书笔记
- Codeforces 166E Tetrahedron
- 一个数被3除余2,被5除余3,被7除余2,求满足条件的前N个数
- Ubuntu12.02 NFS安装与OK6410
- 软件测试基础_什么是软件测试
- 动态规划6-背包问题
- NSMutableString可变字符串的定义及常用方法
- 还是上边一个问题