顺序栈初始化,判空,进栈,出栈,打印
生活随笔
收集整理的這篇文章主要介紹了
顺序栈初始化,判空,进栈,出栈,打印
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include<iostream>#define maxSize 100 //后面沒有分號 ; using namespace std;typedef struct //順序棧的定義
{int data[maxSize];//數據int top;//棧頂指針}SqStack;void initStack(SqStack &st)
{st.top=-1;//初始化只需要將棧頂指針置為-1就行了,表明一個空棧。為0時,表示還可以存儲一個元素,因為數組的下標從0開始
}int isEmpty(SqStack st)//判斷棧空
{if(st.top==-1)cout<<"kong"<<endl;elsecout<<"feikong"<<endl;return 0;
}int Push(SqStack &st,int x)//進棧
{if(st.top==maxSize-1){return 0;}++(st.top);//進棧變動棧頂指針,在存入元素st.data[st.top]=x;return -1;
}int Pop(SqStack &st,int &x)//出棧
{if(st.top==-1){return 0;}x=st.data[st.top];//出棧先取出元素,再變動棧頂指針--(st.top);return -1;
}void print(SqStack st)//打印
{while(st.top!=-1){cout<<st.data[st.top]<<endl;st.top--;}
}int main()
{SqStack Stack1;initStack(Stack1);isEmpty(Stack1);Push(Stack1,2);Push(Stack1,4);print(Stack1);int a;Pop(Stack1,a);print(Stack1);cout<<a<<endl;return 0;}
打印:kong
???????????? 4
???????????? 2
???????????? 4
???????????? 2
???????????? 4
總結
以上是生活随笔為你收集整理的顺序栈初始化,判空,进栈,出栈,打印的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单链表的的逆置(带头结点)
- 下一篇: 链式栈的初始化,判空,进栈,出栈,求长,