C语言实现颠倒栈的方法

时间:2021-05-20

本文实例讲述了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程序算法设计的学习有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章