当前位置:首页 > 数据结构(02331) > 正文内容

设循环队列保存在数组Q[N]中,front和rear分别为队头和队尾指针,初始时front=rear=0,约定指针rear指向的单元始终为空,请用C语言分别描述下列操作:(1)将数据元素x入队。(2)将队首元素出队,并保存到变量myData中。(3)计算队列中当前数据元素的个数,并保存到变量DLenth中。

高老师2年前 (2024-03-26)数据结构(02331)14

设循环队列保存在数组Q[N]中,front和rear分别为队头和队尾指针,初始时front=rear=0,约定指针rear指向的单元始终为空,请用C语言分别描述下列操作:(1)将数据元素x入队。(2)将队首元素出队,并保存到变量myData中。(3)计算队列中当前数据元素的个数,并保存到变量DLenth中。

(1)数据元素X入队:
if((rear+1)%N==front)
printf("Queue overflow")
else{
Q[rear]=x;
rear=(rear+1)%N;
}
(2)队首元素出队并保存到变量myData.中:
if(rear==front)
printf(“Queue empty”)
else{
myData=Q[front];
front=(front+1)%N;
}
(3)当前队列长度
DLenth=(N+rear-front)%N
(或DLenth=(rear>=front)?rear-front:N+rear-front)

扫描二维码免费使用微信小程序搜题/刷题/查看解析。

版权声明:本文由翰林刷题小程序授权发布,如需转载请注明出处。

本文链接:https://doc.20230611.cn/post/431420.html

分享给朋友: