数据结构论坛

首页 » 分类 » 问答 » 教程篇一步一步学习数据结构,轻松实现
TUhjnbcbe - 2024/3/8 17:15:00

阅读本文大概需要6.66分钟

单链表的各种操作

大家好,我是,今天给大家带来的是单链表的实现。主要包含了如何创建一个单链表、如何向链表中添加元素、如何删除某个元素。

主要内容

单链表的创建

向链表中添加元素

删除链表中的某个元素;

实现步骤

接着文章中介绍的单链表元素结构,如下所示:

1.创建链表

创建链表其实就是初始化一个链表的操作,初始化一个带头节点的链表.

Link*Link::CreateNOde(intdata)//创建一个结点{Link*p=newLink;p-gt;data=data;returnp;}

上述创建了一个头指针,方便操作,

2.插入元素

插入节点其实就是改变该节点和相邻节点的指针问题:

这样链表就创建好了,直接可以通过返回值找到创建的节点地址。

创建好之后可以测试下输出,看看是否正确:

输出函数:

遍历链表的过程中,需要借助头节点来实现查找

测试

这里为了方便,循环插入10个元素进行测试:

输出结果:

可以看到,输出数字为1,和我们创建的时候传递进去的元素类型一致,说明创建成功。不过这里需要注意,对节点内存的释放,不需要了需要释放,因为这里后面还有操作,所系暂且不释放。

至于为啥顺序是反的,因为我插入数据的时候采用头插法,即新插入的节点总是在之前节点的前面,不过也可以修改成尾插法,很简单。

3.删除某个节点

删除之前需要判断节点的状态,以及对头节点各种判断,删除实际上是修改了元素的next域,使其没有了指向:

4.节点销毁

思路:先定义一个临时节点,让临时节点指针指向头节点,然后修改头节点指针,使其指向下一个节点,接着删除临时节点所指向的节点即可,剩下的依次循环。

销毁节点

后记

头条号分享Linux,Windows下C/C++,编程相关的技术,坚持每天进行技术支出,希望大家能够喜欢。

你的

1
查看完整版本: 教程篇一步一步学习数据结构,轻松实现