c语言 队列方法的编写

队列的特点是先进先出,就像排队买票一样,就结合排队买票的特点编写实现队列的方法。
首先队列的实现需要三个元素:
(1)排队通道,通常用数组来表示;
(2)队首的标记,用来出队列使用;
(3)队尾的标记,用来加入元素使用;
完成上述工作需要用结构体定义队列的三个初始属性:
在这里插入图片描述
按照队列的特点需要完成一下几点:
(1)队列初始化,由于定义的结构体里只是定义了属性,而没有定义属行一开始该是多少所以需要初始化一下;在这里插入图片描述
将首位标记均初始化为0
(2)进队列:进队列需要将新的元素放进data[]数组中,并且将尾部标记向后移动一位,方便下一个元素进队能够快速找到位置;在这里插入图片描述
这里需要做出一个判断尾部标记是不是超过了规定的队伍长度,由于规定队伍长度为100,但是数组尾部的下标为(100-1),所以如果尾部标记为100时即超过,输出“队列已满”,假如没有满队伍还有空位,将新的数据存入数组尾部,并将尾部指针向后移动一位。
(3)出队列:由于排队的特性出队列永远是第一位,所以只需要将首部标记向后移动一位即可;在这里插入图片描述
并且很多时候会需要得到出队列的元素在这里插入图片描述
当然先得到首位元素后再进行出队列操作。
(4)判断队列是否为空:这个操作是很好判断循环是否结束的标记,由于初始化队列并且进站了第一个元素后,尾部标记就一直是最尾元素的再后一位,标记这空位,而首部标记标记这第一个元素,所以尾部标记一定是处于首部标记的后面,当这两个标记重合时也代表着当前队列为空;在这里插入图片描述
有这五个步骤就可以实现c语言环境下的队列方法了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值