顺序栈的存储结构及实现

33 篇文章 0 订阅
32 篇文章 0 订阅

1.顺序栈的存储结构定义
#define StackSize 100 //假设栈元素最多100个
typedef int DataType;//定义栈元素的数据类型,假设为int型
typedef struct {
DataType data[StackSize];
int top;
}SeqStack;
2.顺序栈的初始化
void InitStack(SeqStack * s){
s->top=-1;
}
3.入栈操作
int Push(SeqStack *s,DataType x){
if(s->topStackSize-1){
printf(“上溢错误,插入失败\n”);
return 0;
}
s->data[++s->top]=x;
return 1;
}
4.出栈操作
int Pop(SeqStack *s,DataType *ptr){
if(s->top
-1){
printf(“下溢错误,删除失败\n”);
return 0;
}
*ptr=s->data[s->top–];
return 1;
}
5.取栈顶元素
int GetTop(SeqStack *s,DataType *ptr){
if(s->top==-1){
printf(“下溢错误,取栈顶失败\n”);
return 0;
}
*ptr=s->data[s->top];
return 1;
}
6.判空操作
int Empty(SeqStack *s){
if(s->top==-1) return -1;
else return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值