队列与堆栈不同,队列是一边进,另一边出的表,如下图所示:
队列的主要操作也比较少,主要的有入队,出队,检查队列是否为空,
队列一般会有两个标志位,即Front和Rear,表示对头和队尾,通过对这两个标志位进行操作,可以对队列进行适当的操作。
数组形式声明与实现
1 | struct QueueModel |
在这个声明中一个队列中有容量参数,2个标志位,一个大小参数,还有一个数组用来存储数据。
判断队列为空
1 | int IsEmpty(Queue Q) |
通过对size的控制,来表示队列为空或非空。入队一个节点,则size+1,出队一个节点,则size-1.
队列设置为空
1 | void MakeEmpty(Queue Q) |
入队
1 | void Enqueue(ELementType X,Queue Q) |
出队
1 | ElementType DeQueue(Queue Q) |