大家好,欢迎来到IT知识分享网。
#include<stdio.h> #define MaxSize 10 typedef struct SqStack{ int data[MaxSize]; int top ; }SqStack; //初始化顺序栈 void initStack(SqStack &S){ S.top = -1; } //判断栈是否为空 /*栈理论上不存在为满的情况,取决于内存大小*/ int isEmpty(SqStack S){ if(S.top == -1){//top为1表示为空 return 1; }else{ return 0; } } //进栈操作 int push(SqStack &S,int e){ //进栈要判满 if(S.top == MaxSize-1){ return 0; } //先移动指针在进行复制 ++(S.top); S.data[S.top] = e; return 1; } //出栈操作 int pop(SqStack &S,int &e){ //出栈要判空 if(S.top == -1){ return 0; } //先进行赋值在移动指针 e = S.data[S.top]; --(S.top); return 1; } //展示栈中的元素 void show(SqStack &S){ int e; while(S.top>-1){ pop(S,e); printf("%d ",e); } } //持续往栈中存放元素 void put(SqStack &S){ initStack(S); ///一定要初始化 int e; scanf("%d",&e); while(S.top<MaxSize&&e!=-1){ push(S,e); printf("%d ===\n ",S.top); // printf("输入成功\n"); scanf("%d",&e); } } int main(){ SqStack S; put(S); show(S); return 0; }
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/32940.html