在循环队列中入队、出队操作的过程
发布网友
发布时间:2022-04-26 09:06
我来回答
共1个回答
热心网友
时间:2022-06-26 09:41
入队:
1、新建一个变量p,指定内存空间;
2、将变量p的next指针指向队头head;
3、将队尾变量的next指针指向变量p;
4、将变量p变为队尾(或队头);
5、具体如下:
new(p);
p^.data:=****(自选数据)
p^.next:=head;
tail^.next:=p;
tail:=tail^.next;(或head:=p;)
出队:单项循环队列中需要搜索出队变量的前缀(或后缀),双向循环队列不需,设该出队变量为x;前缀为p,后缀o为q;
1、将前缀的next(或right)指针指向后缀;
2、(单项循环队列不要此项)将后缀的last(或left)指针指向前缀;
3、若从队头或队尾出队则要调整队头变量head或队尾变量tail;
4、释放出队的变量;
5、具体如下:
p^.next:=q;
q^.last:=p;
head:=q;(或tail:=p;)
dispose(x);