试写出在循环队列Q中删除一个元素并用e返回其值的算法

如题所述

首先判断一下队列是否为空,为空的话返回错误直接退出。

然后,将e赋值为队首指针所指元素,并将队首指针后移,如果队首指针移动到队列的空间外,则让它指向队列的头部。

status DeQueue(Queue *queue, ElemType *e)
{
if (queue == NULL)
return UNINITED;
if (QueueEmpty(queue))
return ERROR;
*e = queue->data[queue->front++];
if (queue->front == QUEUESIZE)
queue->front = 0;
return OK;
}

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答