C语言的链表用法示例:节点的修改、增加和删除

链表可以动态地进行存储分配,因此可将其看做一个功能强大的数组,在节点中可以定义多种数据类型,还可以根据需要修改、增加、删除节点。

C语言的链表用法示例:节点的修改、增加和删除

链表,是C语言的一种基础数据结构。

链表可以动态地进行存储分配,因此可将其看做一个功能强大的数组,在节点中可以定义多种数据类型,还可以根据需要修改、增加、删除节点。

链表都有一个头指针,一般以 head 来表示,存放的是一个地址。

链表中的节点分为两类,头结点(head)和一般节点(node),最后一个节点也叫尾节点(end)。其中,头结点是没有数据域的,尾节点一般不再指向其他节点,如下图所示。

C语言的链表用法示例:节点的修改、增加和删除

一般节点可分为两部分:数据部分和指针部分。数据部分用来存放该节点所包含的数据,指针部分用来指向下一个节点。

链表的节点整体用结构体来定义,指针部分定义为指向本结构体类型的指针类型。

链表就如同车链子一样,head指向第一个节点,第一个节点又指向第二个节点,以此类推,直到最后一个节点,该节点不再指向其它节点,它称为“表尾”,它的地址部分放一个“NULL”,表示“空地址”,到此结束。

1、创建链表

在创建链表时,一般都会用 typedef struct 来定义新的类型名,这样在定义结构体变量时就比较简单。

创建链表的代码示例如下:

C语言的链表用法示例:节点的修改、增加和删除

创建链表

2、输出链表

输出链表比较简单,遍历输出即可。如下图所示。

C语言的链表用法示例:节点的修改、增加和删除

运行上面的程序,比如创建了一个链表,里面包含3个节点,程序运行如下:

C语言的链表用法示例:节点的修改、增加和删除

3、修改节点

修改链表中特定节点的值,如下图所示。

C语言的链表用法示例:节点的修改、增加和删除

4、增加节点

增加节点就是把前节点的指针域链接上增加节点的数据域,再把增加节点的指针域链接上后节点的数据域。如下图所示。

C语言的链表用法示例:节点的修改、增加和删除

增加节点

5、删除节点

比如删除链表的节点q,就是把前节点p的指针域越过要删除的节点q,直接指向下下个节点。

即:p->next = q->next

需要注意的是,一定要记得释放q节点的空间。

C语言的链表用法示例:节点的修改、增加和删除

删除节点

相关阅读

C语言的标准库介绍

深入理解C语言的指针

C语言 typedef 的两种用法

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/86344.html

(0)
上一篇 2024-10-03 05:29
下一篇 2024-10-03 05:34

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信