单链表的实现【数据结构】

在这里插入图片描述
思考:
1.是否能够将原来指针的方向改为向前指向呢?
2.是否能够有两个指针域的操作呢?
了解:
单链表是应用最广泛的一种形式,还有双向链表以及循环链表,这些都是要进行讨论的
结构体定义的是什么?
结构体定义的是单链表的结点所包含的内容,包括数据域以及指针域,结构一旦发生了变化,那么单链表的讨论就要发生变化
管理单链表的两种思考角度是什么?
第一种就是将单链表看作是一个整体,第二种就是将单链表看作是一个结点一个结点的串联形式
单链表的头指针一般不能进行修改:在进行重定义的时候,通常你会发现带有LIST的名字,这种就是代表了单链表的头,就是头指针尽量不要进行对他修改,他记录的是一个链表的首地址,不能将第一个地址弄丢,因为后面的地址是一个挨着一个进行连接在一起的,丢了一个就都丢了,就像是一条线穿着10条鱼,距离第1条鱼的线断了,那么后面的10条鱼就都要被丢弃了
小提示:
1.链式结构当中是不存在存储空间的浪费的,因为我们是动态进行内存空间的分配的,有数据就开辟空间,没有就不分配空间
寻找空间的两种方式:在定义的时候我们起一个别名,利用别名的方式进行访问,我们称作是间接寻址,另外的一种是直接通过地址来进行询问,叫做间接寻址,动态内存分配就只返回一个地址,单链表当中的指针用法是很常见的
2.在数组当中访问元素的方式是利用指针加加的方式,但是对于动态分配的线性表来说,是不能使用指针加加的方式来进行选址,
以结点的角度进行定义
在这里插入图片描述
单链表功能实现函数
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
指针指向的是起始地址,既不指向数据区也不指向指针区域,指向的是一个整体
在这里插入图片描述在这里插入图片描述
delete函数的基本操作以及注意事项
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/444091.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(详细图解)VS2017安装教程

VS 2017 版本同 15 版一样,细分为三个版本,分别是: 社区版(Community):免费提供给单个开发人员,给予初学者及大部分程序员支持,可以无任何经济负担、合法地使用。企业版&#xff1a…

链表的代码实现【数据结构F】

单链表的特点:每次结点的分配都是动态进行分配的,melloc函数实现的功能是开辟一块新的内存空间,但是返回的是一个地址,只能是地址,没有别名的事情,那就有点难办了,这是一种间接的寻址&#xff0…

(图文详细)如何使用Code::Blocks运行c/cpp文件?

1) 新建源文件 打开 CodeBlocks ,在上方菜单栏中选择 “文件 --> 新建 --> 空白文件”,如下图所示: 或者直接按下 Ctrl Shift N 组合键,都会新建一个空白的源文件,如下图所示: 在空白源文件中输入…

数据结构【插入操作具体代码的实现】

插入操作具体代码的实现 单链表delete的操作:

Linux GCC简明教程(编写c语言程序)

市面上常见的 Linux 都是发行版本,典型的 Linux 发行版包含了 Linux 内核、桌面环境(例如 GNOME、KDE、Unity 等)和各种常用的必备工具(例如 Shell、gcc、VIM、Firefox 等),国内使用较多的是 CentOS、Ubunt…

解决VS'scanf':this function or variable may be unsafe.`(VS安全函数问题)

在 VS(Visual Studio)下编译C语言程序,如果使用了 scanf()、gets()、strcpy()、strcat() 等与字符串读取或操作有关的函数,有时候VS会报错,提示该函数可能不安全,并且建议替换为带有_s后缀的安全函数&#…

双向循环链表【数据结构】

单链表的缺点以及对单链表缺点的改进和双向链表的理解操作 双向循环列表的插入操作 线性结构是一种逻辑结构,顺序存储结构,链式存储结构

什么是编译器?(程序是怎么跑起来的)

我们平时所说的程序,是指双击后就可以直接运行的程序,这样的程序被称为可执行程序(Executable Program)。在 Windows 下,可执行程序的后缀有 .exe 和 .com(其中 .exe 比较常见);在类…

Java 的内存管理机制是怎样的?

Java 的内存管理机制是怎样的?

队列【数据结构】

注意 我们的销毁队列是否能够成功取决申请空间的方式,动态申请出来的空间都是可以进行销毁的,对于静态的话是不能直接进行销毁的 ADT 相当于是c当中的类结构,是处理数据时,提前对数据进行一定的管理操作,就是将某一件事…

C++继承详解

废话不多说直接上代码 class 派生类名:[继承方式] 基类名{ 派生类新增加的成员 }; 继承方式限定了基类成员在派生类中的访问权限,包括 public(公有的)、private(私有的)和 protected&…

串【数据结构F】

先来讲解一下串结构的概念性质的东西,以及我们需要注意的一些问题 串结构简单的ADT以及一些基本的操作 最小操作函数:就是功能已经达到了最小的功能实现了,不能继续执行更大的功能,类似于我们在家盖房子一样,水泥的…

C++ STL与迭代器

将容器类模板实例化时,会指明容器中存放的元素是什么类型的:可以存放基本类型的变量,也可以存放对象。 对象或基本类型的变量被插入容器中时,实际插入的是对象或变量的一个复制品。 STL 中的许多算法(即函数模板&…