用数组实现队列

本文介绍了队列的先进先出特性,并详细阐述了如何使用数组来模拟队列。通过设置front和rear变量记录队列的前后端,讨论了数据的添加(addQueue)过程,包括判断队列是否已满及更新尾指针的操作。同时提到了队列在满时可能需要进行的扩容策略,即每次扩容两倍。
摘要由CSDN通过智能技术生成

队列的特点:先进先出

队列的介绍

队列是一个有序表,可以用数组或者链表实现

遵循先进先出的原则,既先存入的数据要先取出

使用数组来模拟队列的情况

我们之所以使用数组来实现队列是是因为数组的地址是连续的

数组来模拟队列

1.队列本身是有序列表,若使用数据的结构来存储队列的数据,则队列数组的声明如下图,

其中maxSize是队列的最大容量 

2.因为队列的输出、输入是分别从前后端来处理,因此需要两个变量front和rear分别记录 队列的前后端的下标,front会随着数据的输出而改变,而rear则是随着数据的输入而改变

3.当我们将数据存放入队列时称为“addQueue”,“addQueue"的处理需要有两个步骤

思路分析

1.如果尾指针rear小于数组队列的最大下标(arr.length-1), 则将数据存入rear所指的数组元素当中,否则无法存入数据。 rear == arr.length-1 (队列已满)

2.将尾指针往后移动:rear +1 ,当front == rear (空)

实现

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值