其他分享
首页 > 其他分享> > CG.队列的操作

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