#include<stdio.h>
#include<stdlib.h>
#define MaxSize 20
typedef int SElemType;
typedef struct{
SElemType data[MaxSize];
int top;
}SqStack;
void CreateStack(SqStack *S){
if(!S)
printf("内存分配失败");
S->top=-1;
}
int Push(SqStack *S,SElemType e){
if(S->top==MaxSize-1)
return 0;
S->top++;
S->data[S->top]=e;
return 0;
}
int Pop(SqStack *S,SElemType *e){
if(S->top==-1){
printf("栈已空");
return 0;
}
*e=S->data[S->top];
S->top--;
return 0;
}
int PrintStack(SqStack S){
int i;
for(i=0;i<S.top+1;i++){
printf("%d ",S.data[i]);
}
printf("\n");
return 0;
}
int main(){
SqStack S;
int i,elem,m,n;
CreateStack(&S);
printf("请输入客栈的个数:\n");
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&m);
Push(&S,m);
}
printf("此时栈中元素为");
PrintStack(S);
for(i=0;i<n;i++){
printf("弹出一个数,此时栈为: ");
Pop(&S,&elem);
PrintStack(S);
}
}
数据结构C语言栈的顺序存储结构实现
最新推荐文章于 2020-10-04 13:55:30 发布