如何仅用递归函数和栈操作逆序一个栈
来源:互联网 发布:刘雯的人品怎么样知乎 编辑:程序博客网 时间:2024/06/04 20:09
#include <iostream>#include <vector>#include<string>#include<algorithm>#include<stack>using namespace std;int getLastElement(stack<int> &s) { int result = s.top(); s.pop(); if (s.empty()) return result; // 如果只有一个元素即为栈底的元素 返回 else { int last = getLastElement(s); // 得到栈底元素 s.push(result); // 并栈顶元素压栈 return last; }}void reverseStack(stack<int> &s) { if (s.empty()) return; // 递归结束的终止条件 int i = getLastElement(s); // 得到栈底的最后一个元素 剩下元素依旧 reverseStack(s); // reverse 剩下 s.push(i); // 将i push进去 }int main() { stack<int> st; st.push(1); st.push(2); st.push(3); reverseStack(st); for (int i = 0; i < 3; i++) { cout << st.top() << endl; st.pop(); }}
0 0
- 仅用递归函数和栈操作逆序一个栈
- 仅用递归函数和栈操作逆序一个栈
- 仅用递归函数和栈操作逆序一个栈
- 栈和队列(3)--如何仅用递归函数和栈操作逆序一个栈
- 栈和队列——如何仅用递归函数和栈操作逆序一个栈
- 栈和队列 如何仅用递归函数和栈操作逆序一个栈
- 栈和队列---如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈
- 3.如何仅用递归函数和栈操作逆序一个栈
- 数据结构 如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈
- day 1.1如何仅用递归函数和栈操作逆序一个栈
- 程序员面试指南之如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈
- 如何仅用递归函数和栈操作逆序一个栈
- 2016多校总结---hdu5821Ball
- ProgressTimer滚动条知识点
- SqlAlchemy个人学习笔记
- android 列表优化
- 高级SQL特性
- 如何仅用递归函数和栈操作逆序一个栈
- OpenLayers 之 地图交互功能(interaction)详解,openlayers百度地图
- The Underlying Technology of Messages
- eclipse中svn的各种状态图标详解
- Comparable、Comparator区别、Comparator升序降序实现
- SQL四种语言:DDL,DML,DCL,TCL
- eclipse maven 项目 出现红色叹号 解决方法
- Unity 2D 终结手册 (1) - 2D 项目_Unity3d 开发技术
- 不常用但很受用的linux命令