链栈和顺序栈两种存储结构有什么不同?

1、存储空间分配不同
顺序栈——顺序分配
(1)在申明顺序栈类型时,就已经确定顺序栈所占空间,此处空间为一块连续的存储单元;
(2)而确定空间之后,经过后续不断有元素进栈,栈中的元素位置会发生变化,同时可能出现栈满的情况

#define MaxSize 100
typedef char ElemType;
typedef struct 
{	
	ElemType data[MaxSize];
	int top;				//栈指针
} SqStack;					//声明顺序栈类型

链栈——动态分配
进栈一个元素,就给该元素分配空间,相对于顺序栈而言,更便于元素的修改

typedef char ElemType;
typedef struct linknode
{	
	ElemType data;				
	struct linknode *next;		//指针域
} LinkStNode;					//链栈类型定义

2、数据域不同
(1)顺序栈的数据域一般设置为数组
(2)链栈的数据域只能是便是单个值的变量

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值