队列
队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。
队头指针front,它指向队头元素;队尾指针rear,它指向下一个入队元素的存储位置(队尾元素的后一个位置)
循环结构是队列的存储结构
顺序队列和循环队列
数组实现和链表实现
示例1:循环队列存储在数组A[0..m]中,则入队时的操作为rear=(rear+1)mod(m+1);出队操作为front=(front+1)mod(m+1);元素个数为(rear−front)mod(m+1)。(注:数组共m+1个元素)
示例2:已知循环队列存储在一维数组A[0..n-1]中,且队列非空时 front 和 rear 分别指向队头和队尾元素。若初始时队列为空,且要求第 1 个进入队列的元素存储在 A[0]处,则初始时 front和 rear 的值分别是( )。
答案:0 n-1。 首先分析有一个元素入队后front和rear都指向0,入队仅rear发生变化,front不变,因此,初始时front=0;rear=n-1。这道题对队列front和rear的约定与传统定义不同,要根据题意解。
版权声明:本文为u012507032原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。