队列是一种先进先出(first in first out,FIFO)的线性表,是一种常用的数据结构。
它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。
队列有很多种,按照存储结构划分,有链式队列,循环队列,单向队列,双端队列。实现队列的方式也有很多种,如基于链表的链接队列(又称链队列),基于数组的队列。
本文介绍基于数组的循环队列的实现和一些基本操作,并用代码的形式讲解。
以下代码,实现了一个可以保存学生学号(最长12位的字符串)循环队列:
#include
以上代码经过调试,我自认为没有问题(鄙人才疏学浅,欢迎指正)。如果读者朋友们有疑问和更正,欢迎评论区补充和探讨。