数据结构(4) 链表(链式存储)

在这里插入图片描述

链表(链式存储)

  • 单链表
    • 定义
    • 基本操作的实现
      • 单链表的插入
        • 按位序插入
        • 指定节点的前插
        • 指定节点的后插
      • 单链表的删除
    • 小结

单链表

定义

在这里插入图片描述

在这里插入图片描述

顺序表优点:可随机存取,存储密度高,缺点:要求大片连续空间,改变容量不方便。
单链表优点:不要求大片连续空间,改变容量方便,缺点:不可随机存取,要耗费一定空间存放指针。

定义单链表的代码:
在这里插入图片描述
定义数据领和指针域

定义一个新节点
在这里插入图片描述

定义typedef关键字来缩短函数书写麻烦
在这里插入图片描述

所以综上定义单链表有两种方式
在这里插入图片描述
要表示一个单链表时,只需声明一个头指针L,指向单链表的第一个结点
LNode * L; //声明一个指向单链表第一个结点的指针,或者LinkList L;//声明一个指向单链表第一个结点的指针,后者代码可读性更强。

  • 强调这是一个单链表–使用 LinkList
  • 强调这是一个结点–使用LNode*
  • 二者本质相同,都用于定义一个类型为单链表的指针

在这里插入图片描述

初始化一个不带头节点的单链表:

在这里插入图片描述
初始化一个带头节点的单链表:
在这里插入图片描述

在这里插入图片描述

基本操作的实现

在这里插入图片描述

单链表的插入

在这里插入图片描述

按位序插入

带头结点插入
在这里插入图片描述
在这里插入图片描述

不带头结点插入
在这里插入图片描述
在这里插入图片描述

指定节点的前插
  • 法1:用已知头指针来遍历链表插入
    在这里插入图片描述
  • 法2:用已知p节点后插入数据来转移数据(时间复杂度为O(1))

在这里插入图片描述

指定节点的后插

在这里插入图片描述
在这里插入图片描述

单链表的删除

  • 法1:用已知头指针来遍历链表删除
    在这里插入图片描述
    在这里插入图片描述
  • 法2:用已知p节点删除数据(时间复杂度为O(1))(且p节点不能为最后一个节点)
    在这里插入图片描述

小结

在这里插入图片描述

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

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

相关文章

高数总结(4

目录 1.总结:小结: 1.总结: 小结: 关注我给大家分享更多有趣的知识,以下是个人公众号,提供 ||代码兼职|| ||代码问题求解|| 由于本号流量还不足以发表推广,搜我的公众号即可:

【ASP.NET Core 基础知识】--最佳实践和进阶主题--性能调优和缓存

一、性能调优 在 ASP.NET Core 中进行性能调优,代码优化是至关重要的一部分。以下是一些常见的 ASP.NET Core 代码优化技巧: 减少数据库查询: 尽可能地减少数据库查询次数,可以通过使用合适的 ORM(对象关系映射&…

Codeforces Round 926 F. Sasha and the Wedding Binary Search Tree

F. Sasha and the Wedding Binary Search Tree 题意 给定一颗二叉搜索树,规定树上的所有点的点权都在范围 [ 1 , C ] [1, C] [1,C] 内,树上的某些节点点权已知,某些节点点权未知,求出合法的二叉搜索树的数量 思路 由于是二叉搜…

这应该是全网第一篇全面解读OpenAI Sora报告的文章,精读报告:Video generation models as world simulators

今天是2024年2月16号,大年初七,年还没过完,早晨起来朋友圈就被Sora刷屏了。本来以为没啥,都是公众号或者视屏啥的,都没点开看,直到看到我导也发了Sora的文章,我就知道这个事情不简单了。 先来看…

基于Qt数据库项目实现(Sqlite3为例)|考查数据库、表格(QTableView 显示)(进阶)

01 数据库表格(QTableView 显示) 本小节设计一个生活中的例子,使用数据库修改/查询员工的编号、姓名、年龄、性别与照片信息。 本例将数据库的内容显示到 QTableView 上。如果只是简单的显示数据库的内容到QTableView 上,可以使用下面的方法,此方法 QTableView 上可以看…

支付宝沙箱版模拟网站在线完整支付流程(无营业无费用)内网穿透+局域网测试

文章目录 一、介绍1. 支付2. 支付结果 二、前提准备1. 支付宝开放平台2. 内网穿透3. 局域网 三、order微服务1. 依赖、配置2. 工具类1. 二维码生成2. AlipayConfig 3. 端点代码1. /generatepaycode2. /requestpay3. /payresult4. /receivenotify 环境如下 Version手机安卓支付…

力扣代码学习日记二

Problem: 28. 找出字符串中第一个匹配项的下标 文章目录 思路解题方法复杂度代码 思路 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的…

红队笔记Day4 -->多层代理(模拟企业拓扑)

声明:本机文章只用于教育用途,无不良引导,禁止用于从事任何违法活动 前几天的红队笔记的网络拓扑都比较简单,今天就来模拟一下企业的真实网络拓扑,以及攻击方法 一般的大企业的网络拓扑如下::…

NodeJs事件循环

NodeJs事件循环 能力有限,暂时理解不了。 网上众说纷纭,而且不同的电脑、操作环境、不同的 NodeJS 版本,结果有可能不一样。 建议自己学习的时候别用 Windows 系统,实在没条件使用虚拟机或者 WSL。

基于Springboot+Vue实现的宿舍管理系统

基于SpringbootVue的宿舍管理系统 1.系统相关性介绍1.1 系统架构1.2 设计思路 2.功能模块介绍2.1 用户信息模块2.2 宿舍管理模块2.3 信息管理模块 3. 源码获取以及远程部署 前言: 在现代教育环境中,学生宿舍的管理显得尤为重要,需要一套能…

如何在Windows中配置多个显示器?这里提供详细步骤

Windows可以通过多种方式使用多个显示器,扩展或复制主显示器。你甚至可以关闭主显示器。以下是如何使用简单的键盘快捷键更改辅助显示设置。 使用WindowsP投影菜单 要快速更改Windows 10处理多个显示器的方式,请按WindowsP。屏幕右侧会弹出一个名为“投…

单点登录(SSO,Single Sign-On)

单点登录(SSO,Single Sign-On)是一种用户身份验证服务,允许用户使用一组登录凭据(如用户名和密码)访问多个应用程序或系统。SSO旨在提高用户体验和安全性,通过减少用户需要记住的密码数量&#…

CSP-201903-1-小中大

CSP-201903-1-小中大 【坑!】 注意中位数的输出,当中位数为整数时不保留小数点。当两个整数相加后再除以 2 时,结果会自动向下取整,而不是得到一个准确的浮点数结果。需要确保至少有一个操作数是浮点数类型,以便执行浮点数除法&…

图表示学习 Graph Representation Learning chapter1 引言

图表示学习 Graph Representation Learning chapter1 引言 前言1.1图的定义1.1.1多关系图1.1.2特征信息 1.2机器学习在图中的应用1.2.1 节点分类1.2.2 关系预测1.2.3 聚类和组织检测1.2.4 图分类、回归、聚类 前言 虽然我并不研究图神经网络,但是我认为图高效的表示…

阅读笔记12:(全文翻译)Oocyte quality and aging

Oocyte quality and aging 作者:Ali Reza Eftekhari Moghadam, Mahin Taheri Moghadam, Masoud Hemadi, and Ghasem Saki 发表期刊:JBRA Assist Reprod. 发表时间:April 15, 2021 摘要 众所周知,由于卵子的质量和数量随年龄相关的变化,女性的生育能力在生命的第四个十年期…

电脑重装系统之Windows 10 企业版 LTSC 2021

简介 Windows 10 22H2对于我来说太不简洁,最受不了的一点是微软强行硬塞给我一些并没有什么luan用的应用和功能,比如:天气,Onedrive......以及臃肿的ui设计。而且强行进行自动更新,我是真的受不了这个,看着…

leetcode:343.整数拆分

解题思路: 拆分的越多越好(暂且认为),尽可能拆成m个近似相等的数,会使得乘积最大 dp含义:将i进行拆分得到最大的积为dp[i] 递推公式:j x dp[i-j](固定j,只通过凑dp[i-j]进而实现所…

optee UTA加载

流程 动态TA按照存储位置的不同分为REE filesystem TA:存放在REE侧文件系统里的TA; Early TA:被嵌入到optee os里的在supplicant启动之前就可用了。 这里我们讲的是常规的存放在REE侧文件系统里的TA。 通过GP标准调用的与TA通信的命令(opens…

【AIGC】Stable Diffusion的ControlNet参数入门

Stable Diffusion 中的 ControlNet 是一种用于控制图像生成过程的技术,它可以指导模型生成特定风格、内容或属性的图像。下面是关于 ControlNet 的界面参数的详细解释: 低显存模式 是一种在深度学习任务中用于处理显存受限设备的技术。在这种模式下&am…

Vue的一些基础设置

1.浏览器控制台显示Vue 设置找到扩展,搜索Vue 下载这个 然后 点击扩展按钮 点击详细信息 选择这个,然后重启一下就好了 ——————————————————————————————————————————— 2.优化工程结构 src的components里要…