静态链表基本操作(C语言实现)详解

2023-07-11 19:04:57 哔哩哔哩

上节,我们初步创建了一个静态链表,本节学习有关静态链表的一些基本操作,包括对表中数据元素的添加、删除、查找和更改。本节是建立在已成功创建静态链表的基础上,我们继续使用上节中建立好的静态链表学习本节内容,建立好的静态链表如图 1 所示:

可以看到,静态链表中存储的是无头结点的单链表。


(资料图片)

静态链表添加元素

例如,在图 1 的基础,将元素 4 添加到静态链表中的第 3 个位置上,实现过程如下:

从备用链表中摘除一个节点,用于存储元素 4;

找到表中第 2 个节点(添加位置的前一个节点,这里是数据元素 2),将元素 2 的游标赋值给新元素 4;

将元素 4 所在数组中的下标赋值给元素 2 的游标;

经过以上几步操作,数据元素 4 就成功地添加到了静态链表中,此时新的静态链表如图 2 所示:

由此,我们通过尝试编写 C 语言程序实现以上操作。读者可参考如下程序:

静态链表删除元素

静态链表中删除指定元素,只需实现以下 2 步操作:

将存有目标元素的节点从数据链表中摘除;

将摘除节点添加到备用链表,以便下次再用;

比较特殊的是,对于无头结点的数据链表来说,如果需要删除头结点,则势必会导致数据链表的表头不再位于数组下标为 1 的位置,换句话说,删除头结点之后,原数据链表中第二个结点将作为整个链表新的首元结点。

若问题中涉及大量删除元素的操作,建议读者在建立静态链表之初创建一个带有头节点的静态链表,方便实现删除链表中第一个数据元素的操作。

如下是针对无头结点的数据链表,实现删除操作的 C 语言代码:

静态链表查找元素

静态链表查找指定元素,由于我们只知道静态链表第一个元素所在数组中的位置,因此只能通过逐个遍历静态链表的方式,查找存有指定数据元素的节点。静态链表查找指定数据元素的 C 语言实现代码如下:

静态链表中更改数据

更改静态链表中的数据,只需找到目标元素所在的节点,直接更改节点中的数据域即可。实现此操作的 C 语言代码如下:

总结

这里给出以上对静态链表做 "增删查改" 操作的完整实现代码:

程序运行结果为:

静态链表为:1,2 2,3 3,0在第3的位置上插入元素4:1,2 2,4 4,3 3,0删除数据域为1的结点:2,4 4,3 3,0查找数据域为4的结点的位置:4将结点数据域为4改为5:2,4 5,3 3,0

上一篇 : 2023年普通高等学校招生录取开始 4种方式可查高考录取结果

下一篇 : 最后一页

x

相关推荐

精彩推送