多语言展示
当前在线:826今日阅读:60今日分享:41

如何使用c语言实现单向链表

链表是一种重要的数据结构,它的特点是在存储上非连续,依靠指针依次实现逻辑上的顺序。小编在这里带大家看看如何使用c语言实现单向链表。
工具/原料
1

ubuntu16.04

2

gcc + vim

方法/步骤
1

打开ubuntu并在某个位置开启一个终端。这里创建的链表是一个企业常用的链表,也是内核使用的链表结构。

2

新建文件enterprise_list.h、enterprise_list.c、test.c分别作为链表头文件、源文件以及测试文件。

3

这里采用指针偏移的方式将数据域与指针域分离的方式。定义一个结点以及一个链表结构体。

4

声明操作链表的函数,包括初始化、插入数据、删除数据、查找数据、打印链表等。

5

在函数实现中,添加一个结构体,作为链表中的数据结构。

6

然后依次对头文件中的函数进行实现。在初始化中,包括创建链表指针,初始化头节点与长度。插入结点包括(1)查询插入位置的前一结点;(2)插入结点。

7

删除结点也需要使用与添加结点类似的操作。查询结点位置是前两方法的子步骤,只是需要返回结点的索引。

8

接着是返回链表大小、打印链表以及释放链表。链表大小已经定义在结构体中,只需要在添加删除过程中维护这个值即可。打印链表需要添加一个打印结点的函数指针,释放链表只需要调用free函数即可、

9

最后是测试阶段。测试代码中需要定义一个预添加的结构体对象,然后一次创建多个对象进行测试。

10

测试的输出结果如下。说明我们的代码没有问题。

推荐信息