C语言:反向输出栈方法实现-创新互联
#include#define MAXLEN 100
typedef int DataType;
typedef struct
{DataType data[MAXLEN];
int top;
}SeqStack;
void InitStack(SeqStack *S);//初始化栈
int EmptyStack(SeqStack *S);//栈空判断函数
int FullStack(SeqStack *S);//栈满判断函数
int push(SeqStack *S , DataType x);//入栈操作函数
int pop(SeqStack *S , DataType *x);//出栈操作函数
int main()
{SeqStack S;
DataType x;
int flag , n;
printf("请输入入栈的元素个数:");
scanf("%d",&n);
for(int i = 0 ; i< n ; i++){scanf("%d",&x);
flag = push(&S,x);
}
// printf("入栈操作成功!\n");
flag = 0;
printf("出栈的元素为:");
for(int i = 0 ; i< n ; i++){flag = pop(&S,&x);
printf("%3d",x);
}
// printf("\n出栈操作成功!\n");
return 0;
}
void InitStack(SeqStack *S)
{//创建一个空栈,栈顶下标top初始化为-1
S->top = -1;
}
int EmptyStack(SeqStack *S)
{//判断栈空函数
if(S->top==-1){return 1;
}else{return 0;
}
}
int FullStack(SeqStack *S)
{//判断栈满函数
if(S->top == MAXLEN-1){return 1;
}else{return 0;
}
}
int push(SeqStack *S , DataType x)
{//入栈操作函数
if(FullStack(S)){printf("栈满,不能进栈操作!");
return 0;
}else{S->top++;
S->data[S->top] = x;
return 1;
}
}
int pop(SeqStack *S , DataType *x)
{//出栈操作函数
if(EmptyStack(S)){printf("栈空,不能出栈操作!");
return 0;
}else{*x = S->data[S->top];
S->top--;
return 1;
}
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
创新互联公司专注于皮山网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供皮山营销型网站建设,皮山网站制作、皮山网页设计、皮山网站官网定制、微信小程序开发服务,打造皮山网络公司原创品牌,更为您提供皮山网站排名全网营销落地服务。本文标题:C语言:反向输出栈方法实现-创新互联
文章源于:http://scyanting.com/article/dcheep.html