c语言将数组元素导入队列中,队列的数组实现

本文介绍了如何使用C语言通过线性数组来实现队列,包括插入和删除元素的算法。队列使用front和rear变量跟踪元素位置,当front和rear均为-1时表示空队列。当插入元素时,若rear达到最大值则返回溢出错误;删除元素时,若front为-1或front大于rear则提示下溢。文章还提供了完整的C语言代码示例。
摘要由CSDN通过智能技术生成

使用线性数组可以很容易地表示队列。 在每个队列的情况下实现有两个变量,即前面(front)和后面(rear)。 前后变量指向队列中执行插入和删除的位置。 最初,front和queue的值为-1,表示空队列。 包含5个元素的队列的数组表示以及前后的值如下图所示。

60f3357942eff8a1d5f69eee1028949f.png

上图显示了形成英文单词“HELLO”的字符队列。 因为,到目前为止在队列中没有执行删除报操作,因此font的值保持为0。 但是,每次在队列中执行插入时,rear的值都会增加1。 将元素插入上图所示的队列后,队列将如下所示。 rear的值将变为5,而font的值保持不变。

d7e384bdc1038cb2dd26f78f7aba5eb9.png

删除一个元素后,front的值将从0增加到1。当前,队列内容将类似于如下。

4da027d8767370c9fc4ccedf39d16cc6.png

1. 在队列中插入元素的算法

通过将rear与max - 1进行比较来检查队列是否已满,如果是,则返回溢出错误。

如果要将数据项作为列表中的第一个元素插入,则在这种情况下将前后值设置为0并将元素插入后端。否则继续增加rear的值并逐个插入每个元素,使用rear作为索引。

算法

第1步:IF REAR = MAX - 1

写OVERFLOW

转到第4步

[IF结束]

第2步:IF FRONT = -1且REAR = -1

SET FRONT = REAR = 0

其他

SET REAR = REAR + 1

[IF结束]

第3步:设置QUEUE [REAR] = NUM

第4步:退出

使用C语言实现以下算法如下所示 -

void insert (int queue[], int max, int front, int rear, int item)

{

if (rear + 1 == max)

{

printf("overflow");

}

else

{

if(front == -1 && rear == -1)

{

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值