假设以带头结点的循环链表表示队列_单向循环链表的存储结构和操作

单向循环链表的存储结构

单向循环链表(Circular Linked List)是单向链表的一种扩充,当单向链表带有头结点时,把单向链表中尾结点的指针域由空指针改为头结点的指针(当单向链表不带头结点时改为指向第一个结点的指针),这样整个链表形成一个回路,从链表中任一个结点出发均可以访问到表中其他结点。图2-13所示为单向循环链表。

9a72d8cd-7013-eb11-8da9-e4434bdf6706.png

带头结点的单向循环链表示意图

两个单向循环链表链成一个单向循环链表

将两个单向循环链表合并成一个带尾指针的单向循环链表。如图2-14,设指针a、b分别是两个待合并的链表A、B的尾指针,只要在A链表尾结点的指针域中存入B链表的第一个结点的指针,这样B链表就接到了A链表的尾部。然后在B链表尾结点的指针域存入A链表的头指针,使合并后的链表成为单向循环链表,且尾指针为b。合并步骤如下:

p=a->next;q=b->next; /*分别得到A、B链表的头指针*/a->next=q->next; /*A链表尾结点的指针域存入B 链表第一个结点的指针*/b->next= p;/*B链表尾结点的指针域存入A链表的头指针*/free(a); free(p); free(q);
9d72d8cd-7013-eb11-8da9-e4434bdf6706.png

两个单向循环链表的合并示意图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值