软件开发|编程技术|编程代码|编程入门先学什么—程序设计语言

C语言实现颠倒栈的方法

本文实例讲述了C语言实现颠倒栈的方法,很实用的技巧。分享给大家供大家参考之用。

具体实现方法如下:

#include iostream#include iterator#include algorithm#include vector#include stackusing namespace std;void initializeStack(stackint st){ for(int i = 1; i = 5; i++) st.push(i);}void addToStack(stackint st, int i){ if(st.empty()) st.push(i); else { int top = st.top(); st.pop(); addToStack(st, i); st.push(top); }}void reverseStack(stackint st){ if(st.empty()) return; int top = st.top(); st.pop(); reverseStack(st); addToStack(st, top);}void print(stackint st){ if(st.empty()) return; else { int top = st.top(); st.pop(); print(st); cout  top  " "; }}void main(){ stackint st; initializeStack(st); print(st); cout  endl; reverseStack(st); print(st);}

希望本文所述对大家C程序算法设计的学习有所帮助。