单循环链表——在单链表中,将终端结点的指针域NULL改为指向表头结点或开始结点。
判断空链表的条件是:
head==head->next;rear==rear->next;
######循环链表优点 在单链表中,从一已知结点出发,只能访问到该结点及其后续结点,无法找到该结点之前的其它结点。而在单循环链表中,从任一结点出发都可访问到表中所有结点,这一优点使某些运算在单循环链表上易于实现。并且不增加任何存储空间。
######判断单链表是否有 环
使用两个指针 p 和 q
- p指针 每次走一步
- q指针 每次从头 走, 直到追上 p指针
p走到1, q也走到1.
p走到2, q从头 1, 2 p走到3, q从头 1 ,2 ,3 p走到4, q从头 1, 2 ,3 ,4 p走到5, q从头 1 ,2 ,3 ,4 ,5 p走到6, q从头 1 ,2 ,3 ,4 ,5, 6 --- 重点来了 p走到3, q从头 1 ,2 ,3 //这里发生 q 还有没追上 p 就判断相等,说明有环。- ######看我那么可爱n(≧▽≦)n
- 关注我的微薄 (梁同桌):http://weibo.com/tongrenyinsheng
- 个人博客: www.liangtongzhuo.com
- ios 个人写的app (同人音声)ASMR音乐