队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。
因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除,故队列又称为先进先出(FIFO—first in first out)线性表。
队列的链表实现
队列的链式存储结构也可以用一个单链表实现。插入和删除操作分别在链表的两头进行。队列指针front指向链表头部方便删除操作,队列指针rear指向链表尾部方便插入操作。
假定内存足够大,链队无队满情况。
code(整型数据的队列)
1 | #include <stdio.h> |
code(字符串数据的队列)
1 | #include <stdio.h> |