C语言实现颠倒栈的方法
2014-09-17 11:21
921 查看
本文实例讲述了C语言实现颠倒栈的方法,很实用的技巧。分享给大家供大家参考之用。
具体实现方法如下:
#include <iostream> #include <iterator> #include <algorithm> #include <vector> #include <stack> using namespace std; void initializeStack(stack<int> &st) { for(int i = 1; i <= 5; i++) st.push(i); } void addToStack(stack<int>& st, int i) { if(st.empty()) st.push(i); else { int top = st.top(); st.pop(); addToStack(st, i); st.push(top); } } void reverseStack(stack<int> &st) { if(st.empty()) return; int top = st.top(); st.pop(); reverseStack(st); addToStack(st, top); } void print(stack<int> st) { if(st.empty()) return; else { int top = st.top(); st.pop(); print(st); cout << top << " "; } } void main() { stack<int> st; initializeStack(st); print(st); cout << endl; reverseStack(st); print(st); }
希望本文所述对大家C程序算法设计的学习有所帮助。
您可能感兴趣的文章:
相关文章推荐
- Linux下获得系统时间的C语言的实现方法
- 实现C语言自动释放资源的方法与探讨
- 简单代码实现LCD菜单(C语言的实现方法---加强版 有视频教程)
- C语言实现基数排序——针对数字的实现方法
- C语言中返回字符串函数的四种实现方法
- C语言实现MATLAB 6.5中M文件的方法
- C语言实现类中方法 用函数指针在结构体中加入函数
- 单链表翻转的多种方法实现(c语言)
- c语言strstr实现的两种方法
- Linux下获得系统时间的C语言的实现方法
- 数值计算方法与算法:C语言实现利用Gauss消元法解方程组
- 各种排序方法的C语言实现
- Linux下获得系统时间的C语言的实现方法
- C语言常用函数的底层实现方法
- Linux下获得系统时间的C语言的实现方法
- Linux下获得系统时间的C语言的实现方法
- Linux下获得系统时间的C语言的实现方法[转]
- 单片机c语言下lcd多级菜单的一种实现方法
- 单片机c语言下lcd多级菜单的一种实现方法
- C语言实现多态的一种方法