CG.队列的操作

设输入一整数序列:a1,a2,a3,...,an(输入序列以-2结束),编写算法实现如下功能:使用循环队列存储输入的整数(设队列的存储容量固定为6),当ai不等于-1时将ai入队;当ai等于-1时将当前队头元素出队。根据输入序列完成入队出队操作,并将队列中所有的数据输出(先输出队头元素),当队列为空时输出NULL。

【输入形式】
【输出形式】
【样例输入】1 2 3 -1 -1 5 6 -2 //输入序列
【样例输出】3 5 6 //整个过程结束后队列中现有元素情况

Tips:队列要连起来的话,需要在逻辑上变成环状,

就是在front和rear前进的时候  front=(front+1)Mod  Maxsize

判断栈空:  if(c.rear==c.front)

判断栈满: if( (c.rear+1)%Size==c.front).     就是队尾指针的下一个位置就是队头

进队:        if( (c.rear+1)%Size!=c.front).  { c.a[c.rear]=n;  c.rear=(c.reat+1)%Size}

上一篇:基本数据结构--队列


下一篇:循环队列的实现