- 博客(6)
- 收藏
- 关注
原创 链表中环的入口节点
给定一个链表,返回链表开始入环的第一个节点。从链表的头节点开始沿着。指针进入环的第一个节点为环的入口节点。如果链表无环,则返回。来表示链表尾连接到链表中的位置(索引从 0 开始)。为了表示给定链表中的环,我们使用整数。,则在该链表中没有环。不允许修改给定的链表。
2023-05-05 23:43:48 543
原创 判断两个链表是否有交点
判断是否有交点,然后返回两个链表相交的节点,首先要判断两个链表是否相交,从上图可以看到如果相交,那么他俩个链表的最后一个节点的地址一定相等,而不是值!然后判断完相交后,如何找到交点,我们首先要定义两个整型变量,然后在两个链表找最后节点时,分别记录两个链表的长度,然后让长的链表减短的链表,用个整型变量num接收相减的值,这样做是为了让长的链表走num步,这样两个链表长度相等,然后就用长节点指针从头开始与短节点指针开始比较,如果他俩相等,那就是两个链表相交的节点。
2023-05-05 23:15:03 195
原创 c语言单链表的实现(增,删,改,查等功能)
总结:本代码为没有哨兵位的单链表所以要传二级指针,只要遇到要操作第一个节点都要传二级指针,还要注意在增删情况下,大部分要考虑链表为空,链表只有一个节点的情况,在学习链表的时候,要多画图。SList.h结构体函数声明文件。SList.c函数实现文件。test.c测试函数文件。
2023-04-25 22:43:46 205 1
原创 关于单链表为什么要设置二级指针和为什么尾删不删除头节点时可以使用一级指针的个人理解
我们要删除头节点,然而这个头节点的地址是一级指针所存储,我们要删除他,就要删除整个结构体的地址,也就是一级指针的地址,所以要传二级指针来删除它。传二级指针主要是为了创建头节点。其次你要为结构体里面的指针创建空间,本题为结构体指针,所以先判断,先给结构体一个空间,然后判断如果结构体有空间,就给结构体里面的结构指针空间,依次递归。然后要改变头节点结构体地址,所以要传二级指针,二级指针存储的是头节点结构体地址,然后我们要尾删时要注意,我们创建的结构体里面包含下一个结构体的地址,
2023-01-12 17:11:47 780
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人