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}
出
标签:队列,队头,CG,ai,rear,front,操作,输入 来源: https://blog.csdn.net/weixin_55118572/article/details/121107063