单链表概念&设计...(头插入法、尾插入法)C语言代码
1。单链表的概念与设计
单链表是一种具有链式访问的数据结构,链表中的数据由一个节点表示,每个节点由:元素(数据元素图像)+指针(指针)组成。后续元素的存储位置)。元素是存储数据的存储单元,指针是连接各个节点的地址数据。 。以“节点的顺序”表示的线性表称为线性链表(单链表),单链表是一种链式访问结构。
对于链表的每个节点,我们使用一个结构体(struct)来进行设计。主要内容有:
![]()
其中,DATA数据元素可以是任何你想要存储的数据格式。它是一个数组,可以是一个int,甚至可以是一个结构体(这是传说中的结构体中的结构体)
NEXT是一个指针,表示可以指向的区域,通常用来指点。到下一个节点,链表末尾的NEXT表示NULL(空),因为末尾无处可去
因此,对于单链表的节点的定义,代码可以这样描述as:
| 123456 | //定义节点类型 typedef struct ♺
2. 初始化 与任何需要链接初始化操作的结构体和类型一样。初始化是创建一个链表。向前结并逐渐添加向后结。一般来说,我们所说的初始化单链表一般是指申请一个节点空间,同时给该节点添加一个空值(NULL)。代码可以写为:
这里有一点要注意,那就是我们要记住,空间打开失败,即使在很多试题和一般环境下都是可用的。环境非常安全,几乎没有开发失败的情况。不过,我们也需要养成开发失败时进行判断,失败后执行代码的习惯。但由于生产中的情况未知,如果开发空间失败,代码继续执行,后果将不堪设想,所以需要开发判断。在 C++ 中,您可以使用 try-catch 等语句进行优化 3。创建链表(头插入法) 初始化完成后,就可以开始创建链表了。创建链表有两种方法:头插入法和尾插入法。两者之间没有显着差异。两者都是通过将指针指向下一个节点元素而一次创建一个。唯一的区别是,最终结果是采用倒序插入头的方法得到的。 如图所示,创建头部插值方法的流程:
该方法从一个空表开始,生成一个新节点,并将读取到的数据存储在新节点的数据字段中。 。然后将新节点插入到当前链表的头部,即头节点之后。? *) |
插法)
如图所示,是制作尾部插法过程。
![]()
通过头插值创建单链表的算法虽然简单,但链表中节点的顺序与输入数据的顺序不一致。如果希望两个序列一致,可以使用尾部插入的方法。
该方法将新节点一一插入到当前链表的尾部。为此,我们必须添加尾指针r,使其始终指向当前链表的尾节点。否则链表无法正确写入。
//创建链表2、尾插入法创建单个链表 LinkedList LinkedListCreatT() { |
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网