顺序栈的表示和实现

本文介绍了严蔚敏《数据结构》中的一个示例,讲解了使用C语言实现的动态数组栈(SqStack)结构,包括初始化、入栈(push)和出栈(pop)操作,以及栈满处理。
摘要由CSDN通过智能技术生成

数据结构第二版严蔚敏 

typedef struct {
	int *base;
	int *top;
	int stacksize;
}SqStack;

void initStack(SqStack &s){
	s.base = new int[99];	//p->base代表指向结构体SqStack成员base的指针。
							//s.base代表的是结构体s里的成员base。
							//s.base 数组第一个元素的地址 
	s.top = s.base;
	s.stacksize = 99;
}

void push(SqStack &s, int e){
	if( s.top-s.base == s.stacksize ){
		printf("栈满");
		return;
	}
	*s.top++=e;		//s.top+1 数组下一个元素的地址; * 取该地址的数据 
	
}

int pop(SqStack &s){
	return *--s.top;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值