#include <iostream>
#include <stack>
#include <exception>
using namespace std;
void sortStack(stack<int> &Sint)
{
stack<int> help;
while(!Sint.empty())
{
int val = Sint.top();
Sint.pop();
while(!help.empty() && val > help.top())
{
Sint.push(help.top());
help.pop();
}
help.push(val);
}
while(!help.empty())
{
Sint.push(help.top());
help.pop();
}
}
int main()
{
stack<int> orignal;
orignal.push(1);
orignal.push(2);
orignal.push(3);
orignal.push(4);
sortStack(orignal);
while(!orignal.empty())
{
cout << orignal.top() << endl;
orignal.pop();
}
}
用一个栈来实现另一个栈的排序
猜你喜欢
转载自blog.csdn.net/wzc2608/article/details/80569331
今日推荐
周排行