【问题描述】
实现循环队列的基本操作。(循环队列最大长度不超过20)
【输入形式】
输入若干个整数(以空格分隔,非整数结束输入),其中0表示做出队操作,不为0的整数为入队元素。
【输出形式】
若出队错误输出“error”;
若最后队列为空,则输出“empty”;
若最后队列非空,依次输出队列的全部元素。
【样例输入1】
1 0 2 0 0 3 0 0 0 a
【样例输出1】
error
【样例输入2】
1 0 2 0 3 0 a
【样例输出2】
empty
【样例输入3】
1 2 3 0 0 4 0 5 a
【样例输出3】
4 5
队列和栈一样也是一种操作受限的线性表。只能在表的两端分别进行插入和删除操作(只能在表尾插入,在表头删除)。并且队列的特点是“先进先出”。
队列的类型定义:假设线性表 Q=(a1,a2,····,ai,···,an)是一个队列,则a1为队头元素,an为队尾元素。如图所示:
顺序队列的表示和实现:
因为只在队头和队尾操作,所以需要设置两个指针 front 和 rear 分别指向队头和队尾位置,并可约定队尾指针 rear