目录
📌队列的定义
📌队列的抽象数据类型
队列的抽象数据类型如下:
ADT 队列(Queue)
Data
队列的数据对象集合为 {a1, a2, ..., an},每个元素的类型均为QDataType.
其中, 除第一个元素a1外, 每一个元素有且只有一个直接前驱元素.
除了最后一个元素an外, 每一个元素有且只有一个直接后继元素.
数据元素之间的关系是一对一的关系.
Operation
InitQueue(*Q); 初始化操作, 建立一个空的队列Q.
DestroyQueue(*Q) 若队列Q存在,则销毁它.
QueueEmpty(Q); 若队列Q为空,返回true,否则返回false.
ClearQueue(*Q); 将队列Q清空.
GetHead(Q, *e); 若队列Q存在且非空,用e返回Q的队头元素.
EnQueue(*Q,e); 若队列Q存在,插入新元素e到队列Q中并成为队尾元素.
DeQueue(*Q,*e); 删除队列Q中队头元素,并用e返回其值.
QueueLength(Q); 返回队列Q的元素个数.
endADT
📌队列的顺序存储结构
📌队列的链式存储结构
结语
当我们了解了队列的定义后,接下来我们将一起实现一个链队列程序,由于篇幅有限,我会在下篇博客中为大家详细介绍一下链队列的实现,感兴趣的话可以点击下面链接查看:
【数据结构】用C语言实现链队列(附完整运行代码)https://blog.csdn.net/weixin_72357342/article/details/134618998
希望这篇有关数据结构队列的介绍文章能对大家有所帮助,欢迎大佬们留言或私信与我交流.
学海漫浩浩,我亦苦作舟!关注我,大家一起学习,一起进步!
数据结构栈与队列篇思维导图: