也没想象中那么神秘的数据结构先来后到的

概念

队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。

注意

1、队列是一种先进先出(FirstinFirstOut)的线性表,简称FIFO。

2、允许插入的一端称为队尾(rear),允许删除的一端称为队头(front)。

3、队列只允许在一端插入,在另一端删除。

4、最早进入队列的元素才能最先从队列中删除。

5、在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。

6、队列可分为顺序队列、链式队列、循环队列(可参见其它文章),循环队列可以提高队列空间的利用率,因此在实际应用中一般采用循环队列的方式。

7、队列可以使用数组和链表两种方式实现,数组的实现方式必须先确定栈的空间大小,相对而言,没有那么灵活,所以建议采用链表的方式实现。

核心

理解队列主要是理解队头、队尾、入队和出队。

队头(front):指向允许元素删除的一端。

队尾(rear):指向允许元素插入的一端。

入队(push):在队列中插入元素的操作。

出队(pop):在队列中删除元素的操作。

示例

★包含头文件queue_array.h和源文件queue_array.c(均已验证通过)。

queue_array.h

/***

Filename:queue_array.h*

Revision:$Revision:1.0$*

Author:Feng(


转载请注明:http://www.92nongye.com/ksfc/ksfc/204625536.html