数据结构三 栈和队列(王晓东版)

三、栈和队列(后进先出表、先进先出表)

3.1概念
:最先进栈的元素会被排到最后,要想对其就行修改,那最后进去的会先进行操作;表首为栈顶,表尾栈底;不含任何元素为空栈。
队列:一种特殊的表,出队列(删除)会从第一个进的开始出,进队列(插入)会排到第一个后面。

栈的运算

类型含义
StackEmpty(S)测试栈S是否为空
StackFull(S)测试栈S是否已满
StackTop(S)返回栈S的栈顶元素
Push(x,S)将元素x入栈
Pop(S)抛栈(删除栈顶的数并且返回该数)

队列的运算

类型含义
QueueEmpty(Q)测试队列Q是否是空的
QueueFull(Q)测试队列Q是否已满
QueueFirst(Q)返回队列的首元素
QueueLast(Q)返回队列尾元素
EnterQueue(x,Q)在队列Q尾插入x元素
DeleteQueue(Q)删除并返回队列Q的队首元素

3.2实现方式
栈:
①、用数组实现栈
把栈元素存到数组里,栈底对应数组的底部。data[0]就是最早进栈的元素。
②、用指针实现栈(链栈)在这里插入图片描述
队列:
①、用指针实现队列:实际上是一个单链表,队列结点类型和单链表的一样。和用指针实现栈正好相反
在这里插入图片描述
②、用循环数组实现队列:将数组中的单元(queue[0:maxsize-1])围成一个圆环。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值