如果用一个循环数组q[0..m-1]表示队列时,该队列只有一个队列头指针front,不设队列尾指针rear,而改置计数器count用以记录队列中结点的个数.编写实现队列的基本运算:判空,入队,出队(3分)队列中
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/31 02:24:44
如果用一个循环数组q[0..m-1]表示队列时,该队列只有一个队列头指针front,不设队列尾指针rear,而改置计数器count用以记录队列中结点的个数.编写实现队列的基本运算:判空,入队,出队(3分)队列中
如果用一个循环数组q[0..m-1]表示队列时,该队列只有一个队列头指针front,不设队列尾指针rear,而改置计数器count用以记录队列中结点的个数.
编写实现队列的基本运算:判空,入队,出队(3分)
队列中能容纳元素的最多个数是多少 (1分)
如果用一个循环数组q[0..m-1]表示队列时,该队列只有一个队列头指针front,不设队列尾指针rear,而改置计数器count用以记录队列中结点的个数.编写实现队列的基本运算:判空,入队,出队(3分)队列中
/* 将data入循环队列 */
void EnQueue(Queue *Q,ElemType data)
{
if((Q->rear+1)%MAX == (Q->rear-Q->count+MAX)%MAX)
return; /* 队列为满,返回 */
Q->base[Q->rear] = data;
Q->rear = (Q->rear+1)%MAX;
Q->count++;
}
/* 出队列,结果存*data中 */
void DeQueue(Queue *Q,ElemType *data)
{
if(Q->rear == (Q->rear-Q->count+MAX)%MAX)
return; /* 队列为空,返回 */
*data = Q->base[(Q->rear-Q->count+MAX)%MAX];
Q->count--;
}
队列中能容纳元素的最多个数是m-1个.