循环队列的优点是什么?如何判断它的空和满?假设循环队列只设rear和quelen来分别指示队尾元素的位置和队中元素的个数,试给出判断此循环队列的队满条件,并写出相应的入队和出队算法,要求
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 18:15:55
![循环队列的优点是什么?如何判断它的空和满?假设循环队列只设rear和quelen来分别指示队尾元素的位置和队中元素的个数,试给出判断此循环队列的队满条件,并写出相应的入队和出队算法,要求](/uploads/image/z/10129823-71-3.jpg?t=%E5%BE%AA%E7%8E%AF%E9%98%9F%E5%88%97%E7%9A%84%E4%BC%98%E7%82%B9%E6%98%AF%E4%BB%80%E4%B9%88%3F%E5%A6%82%E4%BD%95%E5%88%A4%E6%96%AD%E5%AE%83%E7%9A%84%E7%A9%BA%E5%92%8C%E6%BB%A1%3F%E5%81%87%E8%AE%BE%E5%BE%AA%E7%8E%AF%E9%98%9F%E5%88%97%E5%8F%AA%E8%AE%BErear%E5%92%8Cquelen%E6%9D%A5%E5%88%86%E5%88%AB%E6%8C%87%E7%A4%BA%E9%98%9F%E5%B0%BE%E5%85%83%E7%B4%A0%E7%9A%84%E4%BD%8D%E7%BD%AE%E5%92%8C%E9%98%9F%E4%B8%AD%E5%85%83%E7%B4%A0%E7%9A%84%E4%B8%AA%E6%95%B0%2C%E8%AF%95%E7%BB%99%E5%87%BA%E5%88%A4%E6%96%AD%E6%AD%A4%E5%BE%AA%E7%8E%AF%E9%98%9F%E5%88%97%E7%9A%84%E9%98%9F%E6%BB%A1%E6%9D%A1%E4%BB%B6%2C%E5%B9%B6%E5%86%99%E5%87%BA%E7%9B%B8%E5%BA%94%E7%9A%84%E5%85%A5%E9%98%9F%E5%92%8C%E5%87%BA%E9%98%9F%E7%AE%97%E6%B3%95%2C%E8%A6%81%E6%B1%82)
循环队列的优点是什么?如何判断它的空和满?假设循环队列只设rear和quelen来分别指示队尾元素的位置和队中元素的个数,试给出判断此循环队列的队满条件,并写出相应的入队和出队算法,要求
循环队列的优点是什么?
如何判断它的空和满?假设循环队列只设rear和quelen来分别指示队尾元素的位置和队中元素的个数,试给出判断此循环队列的队满条件,并写出相应的入队和出队算法,要求出队时需返回队头指针.
循环队列的优点是什么?如何判断它的空和满?假设循环队列只设rear和quelen来分别指示队尾元素的位置和队中元素的个数,试给出判断此循环队列的队满条件,并写出相应的入队和出队算法,要求
有个设了队头,队尾的,你参考下,入队的时候队尾指针变,出队的时候队头指针变
int EnQueue(CirQueue *Q, DataType e)//入队
{
if (Q->quelen == QueueSize) //队满条件
{
printf("Queue is full! Cannot EnQueue.\n");
return 0;
}
else
{
Q->data[Q->rear] = e;
Q->rear = (Q->rear + 1) % QueueSize;//实现循环
Q->length++;
return 1;
}
}
DataType DeQueue(CirQueue *Q)//出队
{
if (Q->length == 0) //队空
{
printf("Queue is empty! Cannot DeQueue.\n");
return 0;
}
else
{
DataType ret = Q->data[Q->front];//记录出队元素的值
Q->front = (Q->front + 1) % QueueSize;//该语句用来实现循环
Q->length--;
return ret;//返回出队元素值
}
}