最近在学习数据结构的内容,链表(LinkList)就是数据结构中最基本的一种数据类型,链表本身的构造特性也特别有意思,这里就构造了一个链表的功能函数,包含了链表的创建初始化、打印输出、计算长度、查找中间结点和清除链表等功能,在今后的学习中会不断扩充添加不同的功能!
函数运行如下图所示:
功能函数
链表创建函数
1 | //声明链表创建函数(尾插法) |
这里使用了尾插法对链表进行生成操作,使用rand()
函数生成随机数对链表进行初始化。
链表打印函数
1 | //打印链表函数 |
通过判定p->next
是否为NULL
为条件对链表进行遍历打印。
获取链表长度
1 | //声明一个函数,获取链表长度 |
同上,通过判定p->next
是否为NULL
为条件对链表进行遍历计算链表的长度。
获取中间结点
1 | //声明一个函数,获取链表中间结点 |
设置cur
的步长为2,mid
的步长为1,同时对链表进行遍历,以cur == NULL
为结束条件,可以以较高的效率得到链表的中间结点。
链表清除
1 | //声明链表清理函数 |
使用free()
函数对我们生成的链表空间进行遍历删除。
总体代码
1 |
|