顺序栈使用
#include<iostream> using namespace std; #define MaxSize 10 typedef char ElemType; typedef struct { int top; ElemType data[MaxSize]; } Stack; #include<iostream> using namespace std; #define MaxSize 10 typedef char ElemType; typedef struct { int top; ElemType data[MaxSize]; } Stack; //初始化 void initStack(Stack &s){ s.top=-1;//指向栈底 } //销毁栈 void destoryStack(Stack s){ } //进栈 int pushStack(Stack &s,ElemType data){ //进栈前先判断是否栈满 if(s.top==MaxSize-1){ return 0; }else{ s.top++; s.data[s.top]=data; return 1; } } //出栈 int popStack(Stack &s,ElemType &data){ //进栈前先判断是否栈空 if(s.top==-1){ return 0; }else{ data = s.data[s.top]; s.top--; return 1; } } //获取栈顶元素 int getTop(Stack &s,ElemType &data){ //进栈前先判断是否栈空 if(s.top==-1){ return 0; }else{ data = s.data[s.top]; return 1; } } //判断栈空 int isEmpty(Stack &s){ if(s.top==-1){ return 1; }else{ return 0; } } int main(){ /* 栈的使用 特点:先进后出 应用:尚未知道 基本算法: 初始化 initStack 销毁栈 destoryStack 进栈 pushStack 出栈 popStack 获取栈顶元素 getTop 判断栈空 isEmpty */ Stack s; ElemType data[]={'1','a','b','4','6'},rst; initStack(s);//初始化 int i=0; while(data[i]!='