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