C語言實現(xiàn)顛倒棧的方法
更新時間:2014年09月17日 11:21:58 投稿:shichen2014
這篇文章主要介紹了C語言實現(xiàn)顛倒棧的方法,是針對數(shù)據(jù)結(jié)構(gòu)中棧的常見操作技巧,需要的朋友可以參考下
本文實例講述了C語言實現(xiàn)顛倒棧的方法,很實用的技巧。分享給大家供大家參考之用。
具體實現(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è)計的學(xué)習(xí)有所幫助。
相關(guān)文章
C語言中的一維數(shù)組與二維數(shù)組的實現(xiàn)
數(shù)組可以幫我們巧妙解決生活中的問題,使我們的代碼簡潔,本文主要介紹了C語言中的一維數(shù)組與二維數(shù)組,具有一定的參考價值,感興趣的可以了解一下2023-12-12
C語言調(diào)用攝像頭實現(xiàn)生成yuv未壓縮圖片
這篇文章主要為大家詳細介紹了C語言如何調(diào)用攝像頭實現(xiàn)生成yuv未壓縮圖片,文中的示例代碼講解詳細,具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以參考一下2023-11-11
Qt5+QMediaPlayer實現(xiàn)音樂播放器的示例代碼
這篇文章主要為大家詳細介紹了如何利用Qt5和QMediaPlayer實現(xiàn)簡易的音樂播放器,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以參考一下2022-12-12

