#include<iostream>
#include<stack>
using namespace std;
void reverse(stack<int> & stackA,stack<int> & stackB)
  {
int min;
for(int i=0;i<stackA.size();i++)
 {
min=stackA.top();
stackA.pop();
while(!stackA.empty())
 {
stackB.push(stackA.top());
stackA.pop();
}
stackA.push(min);
while(!stackB.empty())
 {
stackA.push(stackB.top());
stackB.pop();
}
}
}
int main()
  {
stack<int>stackA,stackB;
for(int i=0;i<10;i++)
stackA.push(i);
reverse(stackA,stackB);
for(int i=0;i<10;i++)
 {
printf("%d\n",stackA.top());
stackA.pop();
}
}
|