预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

#include<stdio.h> #defineMAXSIZE100 typedefintElemType; typedefstruct {ElemTypedata[MAXSIZE]; inttop; }SeqStack; //初始化顺序栈 voidInitStack(SeqStack&s) { s.top=-1; } intStackEmpty(SeqStack&s) { if(s.top==-1) return1; else return0; } intStackFull(SeqStack&s) { if(s.top==MAXSIZE-1) return1; else return0; } voidPush(SeqStack&s,intx) { if(StackFull(s)) printf("栈满!"); else {s.top++; s.data[s.top]=x; } } voidDisplay(SeqStacks) { if(s.top==-1) printf("栈空!\n"); else {while(s.top!=-1) {printf("%d",s.data[s.top]); s.top--;} } } ElemTypepop(SeqStack&s) { if(StackEmpty(s)) return0; else returns.data[s.top--]; } ElemTypeStackTop(SeqStacks) { if(StackEmpty(s)) return0; else returns.data[s.top]; } voidmain() { intn,i,k,h,x1,x2,select=1; SeqStacks; printf("创建一个空栈!\n"); InitStack(s); printf("输入栈中元素个数:\n"); scanf("%d",&n); for(i=0;i<n;i++) {printf("输入栈中元素值:\n"); scanf("%d",&k); Push(s,k); } while(select) {printf("\n"); printf("select1:遍历顺序栈\n"); printf("select2:入栈\n"); printf("select3:出栈\n"); printf("select4:取栈顶元素\n"); printf("select0:退出\n"); scanf("%d",&select); switch(select) {case1: {Display(s); break; } case2: {printf("输入栈顶元素值:\n"); scanf("%d",&h); Push(s,h); break; } case3: {x1=pop(s); printf("出栈元素=%d\n",x1); break; } case4: {x2=StackTop(s); printf("栈顶元素=%d\n",x2); break; } } } }