C_栈和队列(ADT)-栈的表示和实现



堆栈是一个在计算机科学中经常使用的抽象数据类型。堆栈中的物体具有一个特性: 最后一个放入堆栈中的物体总是被最先拿出来, 这个特性通常称为后进先出(LIFO)队列。 堆栈中定义了一些操作。 两个最重要的是PUSH和POP。 PUSH操作在堆栈的顶部加入一 个元素。POP操作相反, 在堆栈顶部移去一个元素, 并将堆栈的大小减一。(图片和解释引用百度百科)



栈底指针是不动的,插入,删除都是对栈顶指针进行移动

基本操作的实现:栈的构造,判空,插入,删除,清空,销毁,打印

栈的定义:

typedef struct{
	ElemType	*base;			//栈底指针 
	ElemType	*top;			//栈顶指针 
	int 		stacksize;		
}SqStack;

栈的基本操作:

/*操作构造一个空栈S。*/
InitStack(&S);

/*初始条件:栈S已存在。*/
/*操作结果:栈S被销毁。*/
DestroyStack(&S);
 
/*初始条件:栈S已存在。*/
/*操作结果:将S清为空栈。*/
ClearStack(&S);

/*初始条件:栈S已存在。*/
/*操作结果:若栈S为空栈
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值