class Solution
{
public:
//递归函数一
static int getAndRemoveStackLastElem(stack<int>& s)
{
int result = s.top();
s.pop();
if (s.empty())
return result;
else
{
int last = getAndRemoveStackLastElem(s);
s.push(result);
return last;
}
}
//递归函数二
static void reverseStack(stack<int>& s)
{
if (s.empty())
return;
int i = getAndRemoveStackLastElem(s);
reverseStack(s);
s.push(i);
}
};
#include <iostream>
#include <stack>
using namespace std;
class Solution
{
public:
static int getAndRemoveStackLastElem(stack<int>& s)
{
int result = s.top();
s.pop();
if (s.empty())
return result;
else
{
int last = getAndRemoveStackLastElem(s);
s.push(result);
return last;
}
}
static void reverseStack(stack<int>& s)
{
if (s.empty())
return;
int i = getAndRemoveStackLastElem(s);
reverseStack(s);
s.push(i);
}
};
//打印栈
void show(stack<int> s)
{
while (!s.empty())
{
cout << s.top() << " ";
s.pop();
}
cout << endl;
}
int main()
{
stack<int> s;
s.push(1);
s.push(2);
s.push(3);
s.push(4);
s.push(5);
s.push(6);
cout << "Before reverse: " << endl;
show(s);
cout << "After reverse: " << endl;
Solution::reverseStack(s);
show(s);
system("pause");
}
Before reverse: 6 5 4 3 2 1 After reverse: 1 2 3 4 5 6 请按任意键继续. . .
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有