C語言實(shí)現(xiàn)顛倒棧的方法
更新時間:2014年09月17日 11:21:58 投稿:shichen2014
這篇文章主要介紹了C語言實(shí)現(xiàn)顛倒棧的方法,是針對數(shù)據(jù)結(jié)構(gòu)中棧的常見操作技巧,需要的朋友可以參考下
本文實(shí)例講述了C語言實(shí)現(xiàn)顛倒棧的方法,很實(shí)用的技巧。分享給大家供大家參考之用。
具體實(shí)現(xiàn)方法如下:
#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程序算法設(shè)計(jì)的學(xué)習(xí)有所幫助。
您可能感興趣的文章:
- c語言stack(棧)和heap(堆)的使用詳解
- C語言棧的表示與實(shí)現(xiàn)實(shí)例詳解
- C語言棧順序結(jié)構(gòu)實(shí)現(xiàn)代碼
- C語言堆棧入門指南
- C語言對棧的實(shí)現(xiàn)基本操作
- 深入淺析C語言中堆棧和隊(duì)列
- 詳解C語言中的字符串拼接(堆與棧)
- C語言中網(wǎng)絡(luò)地址與二進(jìn)制數(shù)之間轉(zhuǎn)換的函數(shù)小結(jié)
- 編寫C語言程序進(jìn)行進(jìn)制轉(zhuǎn)換的問題實(shí)例
- C語言進(jìn)制轉(zhuǎn)換代碼分享
- C語言用棧實(shí)現(xiàn)十進(jìn)制轉(zhuǎn)換為二進(jìn)制的方法示例
相關(guān)文章
C語言中的一維數(shù)組與二維數(shù)組的實(shí)現(xiàn)
數(shù)組可以幫我們巧妙解決生活中的問題,使我們的代碼簡潔,本文主要介紹了C語言中的一維數(shù)組與二維數(shù)組,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12C語言調(diào)用攝像頭實(shí)現(xiàn)生成yuv未壓縮圖片
這篇文章主要為大家詳細(xì)介紹了C語言如何調(diào)用攝像頭實(shí)現(xiàn)生成yuv未壓縮圖片,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以參考一下2023-11-11Qt5+QMediaPlayer實(shí)現(xiàn)音樂播放器的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用Qt5和QMediaPlayer實(shí)現(xiàn)簡易的音樂播放器,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下2022-12-12