您的位置:首页 > 其它

对栈元素进行升序排列

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不支持标准库容器的初始化
}*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: