循环链表

循环链表的定义和结构

在单链表中,使其最后一个结点的指针又指回到第一个结点,这样的线性链表叫做循环链表。

判断表尾的条件:p→next==L

判断空表的条件:L→next==L


删除当前结点的后继结点

if(next==this) return NULL;

cNode*a=next;

next= a→next;

return a;


例:两个循环链表合并成一个循环链表

//假设A、B为非空循环链表的尾指针



*p = A->next;

A->next = B ->next;

delete b->next;

B->next=p;


双向循环链表

结点结构


链表的结构


循环双链表判断为空的条件

L→left==L→right==L



双链表的对称性

p→right→left=p→left→right = p



//在当前节点this之后插入结点p

right→left=p;

p→right=right;

p→left=this;

right=p;


//删除this结点

left→right=right;

right→left=left;






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值