队列的学习心得

本文详细介绍了队列的概念,包括其定义、逻辑结构和存储结构。重点讲解了队列的抽象数据类型定义,列举了包括初始化、入队、出队等基本操作。同时,探讨了队列的顺序存储和链式存储结构,特别是循环队列的实现,以及如何判断队列的满与空状态。
摘要由CSDN通过智能技术生成

一、概念

(一)定义:
只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表。允许插入的一端为队尾,允许删除的一端为队头。

例如:队列 A=(a1,a2,a3,···,an)a1是队头元素,an是队尾元素。

在队尾插入元素称为入队;在队首删除元素称出队。

(二)逻辑结构

与线性表相同,仍为一对一关系。

(三)存储结构

顺序队或链队,不过循环顺序队最常见。

(四)运算规则

只能在队尾和队首运算,且访问结点时依照先进先出(FIFO)的原则。

二、队列的抽象数据类型定义

在这里插入图片描述
基本操作:建队列、判断队列是否为空、入队、出队、读队头元素值等
(1)初始化队列 InitQueue(&Q)
(2)入队 EnQueue(&Q,e)
(3)出队 DeQueue(&Q,&e)
(4)获取队头元素内容 GetHead(Q,&e)
(5)判断队列是否为空 QueueEmpty(Q)
(6)遍历队列 QueueTraverse(Q)
(7)获取队列长度 QueueLength(Q)

三、队列的表示和实现

队列的顺序存储结构

#define MAXQSIZE 100    //队列可能达到的最大长度
typedef struct
{
   
 QElemType *base;      //存储空间的基地址
 int front;            //头指针
 int rear;   
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值