0
点赞
收藏
分享

微信扫一扫

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


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

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]就是最早进栈的元素。

②、用指针实现栈(链栈)

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


队列:

①、用指针实现队列:实际上是一个单链表,队列结点类型和单链表的一样。和用指针实现栈正好相反

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


②、用循环数组实现队列:将数组中的单元(queue[0:maxsize-1])围成一个圆环。


举报

相关推荐

0 条评论