继上一篇单项链表后(https://blog.csdn.net/papaxiong1/article/details/100906397)
我们发现,对于单链表,由于每个结点只存储了向后的指针,到了尾指针就停止了向后的操作,这样当中某一结点就无法找到它的前驱结点了,无法回头!
定义
将单链表中尾结点的指针从指向NUll指向头结点(或第一个元素结点),使得整个链表形成一个环,这种头尾相接的单链表称为单向循环链表。
单链表和单向循环链表的区别
单链表的尾指针指向null
单向循环连边的尾指针指向头结点
单链表我们用的是虚拟头结点,而单向循环链表head指向的则是真实的头结点。
1.单向循环列表的插入与删除
①插入(头插法、尾插法、一般插入)
头插:
把当前的尾节点的下一跳指向新结点,把新结点的下一跳指向当前头结点
尾插:
将尾指针的下一跳指向头结点,将前驱的下一跳指向B,尾指针后移。