数据结构-链队

一,链队的组成

链队:队列的链式存储结构,链队和单链表直接,多了一个尾指针,并且只能够尾指针进队,头指针出队。空队列时,俩个指针都指向头节点。

它的节点和普通节点一样,在链队的结构体定义了俩个节点型指针,这样这个结构通过指针就能够表示一个链式存储的队列。

二,链队的常见操作

1.链队的初始化(创建一个链队)

  1. 声明一个链队
  2. 调用初始化函数
  3. 分配头节点内存
  4. 让头尾指针都指向头节点
  5. 头节点的指针域置为null

2.判读链队是否为空

  1. 判断链表的头指针和尾指针是否相等

3.链队的进队

  1.  创建一个新的节点
  2. 分配内存
  3. 给节点赋值,指针域清空
  4. 让尾指针指向节点的指针域指向新节点
  5. 尾指针后移

4.链队的出队

  1. 定义一个节点型指针
  2. 判断是不是空的队列
  3. 用指针指向头指针指向的节点
  4. 保存数据
  5. 头指针后移
  6. 在判断是不是出队的节点到了尾指针,到了就是空队
  7. 释放节点内存

5.清空链队

  1. 定义俩个节点型的指针
  2. 让队尾指针指向队头
  3. 用申请的一个指针指向要释放节点
  4. 清空队头的指针域
  5. 遍历队列
  6. 保存删除节点内存
  7. 指针后移
  8. 释放上一个节点内存

6.输出链队

  1. 申请一个节点指针
  2. 给指针赋值
  3. 遍历打印

三, 队的类型

  1. 普通队列:头出尾进,使用数组,空间利用率低。
  2.  循环队列:和普通队列相比,将队列的首尾相连,队列尾下标永远是最后一个元素的下一个空闲位置。所以队列满判断依据是(rear+1)%queuesize==front,队列的长度是(rear-front+queuesize)%queuesize。

  3. 链队

四,总结

链队就是链表多了节点指针,只能够头出尾进。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值