跟单链表所需要的结构体一致,只是最后一个结点不指向NULL指向首元结点
单链表的结点结构
单链表的头结点结构
单循环链表的初始化
单循环链表的插入【n=-1为头插 n=1为尾插 n为任意值为任意位置插入 x为要插入的值】
先进行判误,然后准备新节点所需
给新节点动态分配内存,将要插入的值放入新节点,然后让新节点指针指向自己
因为无论头插还是尾插都需要修改最后一个结点的指针指向,所以把这一部分的代码提出来了
若单循环链表为空,头结点的指针直接指向新结点
头插
尾插
任意位置插入就和单链表的插入一样
单循环链表的删除
箭头为要删除的数
执行结果