从无到有算法养成篇-栈和队列·队列

本文详细介绍了队列的基本概念,包括其“先进先出”的特性,并对比了与栈的区别。队列的存储结构包括顺序队列和链式队列,重点讨论了循环队列的概念和解决“假溢出”的方法。此外,还涵盖了链队列的结构和操作,为理解和实现队列提供了全面的知识框架。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、队列的定义

队列是啥?

数据从表的一端进,从另一端出,且遵循 "先进先出" 原则的线性存储结构就是队列。

队列的两个基本操作:入队将一个数据放到队列尾部;出队从队列的头部取出一个元素。

队列的应用:循环队列、阻塞队列、并发队列、优先级队列等。

栈和队列不要混淆,栈结构是一端封口,特点是"先进后出";而队列的两端全是开口,特点是"先进先出"。

队列存储结构的实现有以下两种方式:

  1. 顺序队列:在顺序表的基础上实现的队列结构;
  2. 链队列:在链表的基础上实现的队列结构;

两者的区别仅是顺序表和链表的区别,即在实际的物理空间中,数据集中存储的队列是顺序队列,分散存储的队列是链队列。

队列的操作

入队(尾部入队)
  ①将值存入rear所代表的位置。
  ②rear = (rear+1)%数组的长度。
出队(头部出队)
  front = (front+1)%数组的长度。
队列是否为空
  front和rear的值相等࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文宇肃然

精神和物质鼓励你选一个吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值