动态链表的创建

简介: 动态链表的创建

一、内存的两种访问方式


1、随机访问方式

对于数组来说,他的所有元素在内存中是连续存储的,因而很容易计算出每个元素的内存地址,从而可以直接访问数组中的任意一个元素。


2、顺序访问方式

对于链表来说,不同的结点在内存中存储的位置是随机的,因而无法计算出每个结点的内存地址,从而只能从第一个结点开始依次访问。

因此,需要将第一个结点的地址保存起来。


二、如何保存第一个结点的地址?

1、带头结点的链表

若是将第一个结点的地址存储到一个专门的结点的指针域中,那么这种链表称为带头结点的链表。image.png

这个专门的结点称为头结点,头结点的数据域中不存储任何有效数据。

这种链表也有头指针,不过此时的头指针变量中存储的是头节点的地址。

看起来头结点似乎多余,实际上引入头结点能够简化链表的创建、插入和删除等操作。


为何要创建一个函数

原因:需要返回头指针的地址,便于后面遍历、删除等操作

image.png


image.png

时刻谨记这张图!

因为指针p一直表示末指针,所以创建一个新指针,利用之后,此刻就变成了末指针

相关文章
|
编解码 算法 搜索推荐
淘宝人生里的虚拟人像渲染技术
全程干货,淘宝人生里的虚拟人像是如何实现的?
淘宝人生里的虚拟人像渲染技术
|
小程序 开发者 安全
福利!支付宝小程序开发必备的7款开源DEMO
相比于APP,小程序已经大大降低了开发者们的学习和开发的门槛。而如何进一步提高小程序开发者的学习和开发效率,一直是支付宝小程序团队非常重视的课题。对于开发者而言, 文档可以提供基础的引导,而针对性的、基于常见场景的DEMO则更为直观清晰易懂,可以大大节约上手的成本。
7758 0
福利!支付宝小程序开发必备的7款开源DEMO
|
8月前
|
存储 弹性计算 容灾
阿里云基础设施高可用最佳实践沙龙北京站圆满举办!
2025年3月19日,阿里云在北京举办高可用最佳实践沙龙,探讨云端业务连续性与架构设计。活动涵盖数据备份、故障切换、多活架构等主题,结合电商、金融等行业案例,分享高可用建设经验。专家强调,高可用不仅是技术命题,更是业务战略,助力企业实现“永不宕机”目标。系列沙龙将持续全国落地,推动企业云上容灾体系建设。
|
算法 Java C语言
【数据结构】后缀(逆波兰)表达式的计算以及中缀转后缀的方法
【数据结构】后缀(逆波兰)表达式的计算以及中缀转后缀的方法
2529 1
|
9月前
|
SQL 关系型数据库 分布式数据库
如何使用列索引一键加速慢查询?PolarDB AutoIndex大揭秘
如何使用列索引一键加速慢查询?PolarDB AutoIndex大揭秘
110 0
|
Ubuntu 安全 Linux
Linux的安装过程
Linux的安装过程
372 6
|
存储
建立动态链表
建立动态链表
150 1
|
存储 自然语言处理 JavaScript
vben框架是什么
vben框架是什么
2690 0
|
前端开发 JavaScript
LayUI之增删改查
LayUI之增删改查
238 0
|
机器学习/深度学习 存储 人工智能
登上联合国教科文组织讲台!阿里云分享大模型+教育数字化经验
登上联合国教科文组织讲台!阿里云分享大模型+教育数字化经验
433 0