链表--part 1--链表基础理论(概括)
文章目录
- 单链表
- 双链表
- 循环链表
- 链表
- 链表的定义
- 删除节点
- 增加节点
首先什么是链表,链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。
链表的入口节点称为链表的头结点也就是head。

链表的数据域分为两个区域: 一个是数据域,一个是地址域。
下面是链表的分类
单链表
单链表实际上就是上面的那一个图。见上图即可。
双链表
单链表中的指针域只能指向节点的下一个节点。
双链表:每一个节点有两个指针域,一个指向下一个节点,一个指向上一个节点。
双链表 既可以向前查询也可以向后查询。

循环链表
循环链表,顾名思义,就是链表首尾相连。
循环链表可以用来解决约瑟夫环问题。

链表
由于数组的内存在空间上是连续存储的,所以对于数组的删除节点只需要直接进行【】进行覆盖即可。
但是链表在内存中可不是连续分布的。链表是通过指针域的指针链接在内存中各个节点。
所以链表中的节点在内存中不是连续分布的,而是散乱分布在内存中的某地址上,分配机制取决于操作系统的内存管理。
链表的定义
struct ListNode
{int val;//数据域ListNode* next;//地址域ListNode(int x): val(x),next(NULL){}//构造函数
};
链表的调用:
ListNode* p = new ListNode(5);
cout << p->val << endl;
ListNode* q = new ListNode();//跟编译器相关,有的可以有的不行,有的编译器可以自动帮你定义一个新的,有的只有在没有的情况下帮你定义。
cout << q->val << endl;
删除节点
其实图片已经展示的很清楚了,实际上按照图片的操作来即可,数据结构就是按照自己的图示来进行的操作。

增加节点
同理

相关文章:
链表--part 1--链表基础理论(概括)
文章目录 单链表双链表循环链表链表链表的定义删除节点增加节点 首先什么是链表,链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最…...
【V2G】电动汽车接入电网优化调度研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
Excel中时间戳与标准日期格式的互相转换
背景 在excel中将13位毫秒级别的时间戳转换为标准的日期格式(yyyy-mm-dd hh:mm:ss.000),使用如下模板 TEXT(<source_cell>/1000/8640070*36519,"yyyy-mm-dd hh:mm:ss.000") 在excel中将10位秒级别的时间戳转换为标准的日期格式(yyyy-mm-dd hh:mm:ss…...
【Kafka集群】Kafka针对用户做ACL权限控制
在 Kafka 3.3.1 中,可以使用 ACL(Access Control List)控制用户对 topic 的访问权限。以下是一些基本示例: 创建一个名为 my-topic 的 topic 在命令行中执行以下命令创建一个名为 my-topic 的 topic: kafka-topics.…...
国内外数据安全治理框架介绍与分析
本文将介绍和分析:微软 DGPC框架,Gartner 数据安全治理框架 DSG,数据安全能力成熟度模型 DSMM 数据治理与数据安全治理系列文章 https://luozhonghua.blog.csdn.net/article/details/130417106 数据安全治理流程设计_luozhonghua2000的博客-CSDN博客 数据治理解决之道探讨…...
【Nodejs】使用Nodejs搭建HTTP服务,并实现公网远程访问
文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 转载自内网穿透工具的文章:使用Nodejs搭建HTTP服务,并实现公网远程访问「内网穿透」 前言 Node.js…...
面试题之介绍自己测试的项目,担任的角色和做出的成果
在测试面试过程中,面试官想要了解一个同学对项目的掌握程度或一些例如沟通总结的软技能情况,该怎么考察呢? 一个具有代表性的题目来了:简单介绍一下自己测试的项目,担任的角色和做出的成果。 一、面试官角度 1、考察是否真正做过该…...
HTB靶机012-Valentine-WP
012-Valentine 靶机IP:10.10.10.79 Scan nmap端口扫描: ┌──(xavier㉿kali)-[~] └─$ sudo nmap -sSV -T4 10.10.10.79 -F Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-29 00:47 CST Nmap scan report for 10.10.10.79 Host is up (0.30s…...
微信小程序nodejs+vue社区居民健康服务系统uniapp
系统分为社区居民,管理员,县区工作员,社区工作员三个角色 县区工作员的主要功能: 1.对社区的工作人员进行添加,修改,删除,查询 2.疫情专栏的信息进行添加,修改,删除&…...
尝试探索水下目标检测,基于yolov5轻量级系列模型n/s/m开发构建海底生物检测系统
其实,水下目标检测相关的项目早在之前就已经做了几个了,但是没有系统性地对比过,感兴趣的话可以先看下之前的文章,如下: 《基于自建数据集【海底生物检测】使用YOLOv5-v6.1/2版本构建目标检测模型超详细教程》 《基于…...
大数据Doris(二十四):Doris数据Insert Into导入方式介绍
文章目录 Doris数据Insert Into导入方式介绍 一、语法及参数 二、案例 三、注意事项 1、关于插入数据量 2、关于insert操作返回结果 3、关于导入任务超时 4、关于Session变量 5、关于数据导入错误 Doris数据Insert Into导入方式介绍 Doris 提供多种数据导入方案&…...
macOS Ventura 13.5beta (22G5027e)发布
系统介绍 黑果魏叔 5 月 20 日消息,苹果今日向 Mac 电脑用户推送了 macOS 13.5 开发者预览版 Beta 更新(内部版本号:22G5027e),本次更新距离上次发布隔了 17 天。 macOS Ventura 带来了台前调度、连续互通相机、Face…...
基于SpringBoot的财务管理系统的设计与实现
背景 财务管理系统能够通过互联网得到广泛的、全面的宣传,让尽可能多的员工了解和熟知财务管理系统的便捷高效,为管理者和员工提供了服务,节省人力、物力和时间,提高工作效率。 系统设计 为了更好的去理清本系统整体思路&#…...
使用OpenCV进行肺炎诊断检测
肺炎是一种由感染引起的严重呼吸道疾病,特别是在高危人群中,可能会出现危及生命的并发症。必须尽快诊断和治疗肺炎,以最大限度地提高患者康复的机会。 诊断过程并不容易,需要一些医学实验室工具和先进的医疗技能,但我们…...
北华大学第九届程序设计竞赛 题解
5.14和队友VP一场,第二次VP,状态明显比第一次好很多,总共A了7题,基本是能做出来的都做出来了,最后还剩下接近2小时的时间。。。。。 A "北华"有几何 思路:数图片中“北华”的数量,直…...
【Java算法题】剑指offer_01数据结构
前言 刷题链接: https://www.nowcoder.com/exam/oj/ta?page2&tpId13&type265 1. 链表 JZ24 反转链表 思路:基本操作,如下所示。 /* public class ListNode {int val;ListNode next null;ListNode(int val) {this.val val;} }…...
最简单配置jenkins容器使用宿主机的docker方法
构建镜像和发布镜像到harbor都需要使用到docker命令。而在Jenkins容器内部安装Docker官方推荐直接采用宿主机带的Docker即可 设置Jenkins容器使用宿主机Docker 设置宿主机docker.sock权限 chown root:root /var/run/docker.sock chmod orw /var/run/docker.sock 添加数据卷 v…...
Android aidl及binder基础知识巩固
作者:义华 1、什么是binder binder是android framework提供的,用于跨进程方法调用的机制,具有安全高效等特点。 我们知道,在 Android 系统中,每个应用程序都运行在一个独立的进程中,各个进程之间需要进行…...
[日记]LeetCode算法·二十五——二叉树⑤ AVL树(插入+删除)附代码实现
本章的代码实现基于上一篇BST与优先队列的基类进行平衡二叉树,即AVL树。 文章目录 AVL的概念AVL查询效率AVL的插入1.插入节点2.更新平衡因子BF3.旋转调整树的结构3.1 LL 右旋3.2 RR 左旋3.3 LR 左右双旋3.4 RL 右左双旋 4 插入总结 AVL的删除1.寻找删除节点2.更新平…...
flink-1.13.6 例子
-------------------------------------------------------------- flink版本: flink-1.13.6 [rootmaster bin]# pip3 list | grep flink WARNING: Ignoring invalid distribution -andas (/usr/local/python38/lib/python3.8/site-packages) apache-flink 1.13.0 a…...
GD32F45ZG引脚模式实战指南:从基础配置到高级应用
1. GD32F45ZG引脚模式基础入门 第一次接触GD32F45ZG的引脚配置时,我也被各种模式搞得晕头转向。这就像刚拿到新手机时,得先搞清楚各个按键的功能才能玩转它。GD32F45ZG的引脚就是它的"按键",配置对了才能让芯片按我们的想法工作。 …...
GitFS与CI/CD集成:如何实现持续部署的版本控制
GitFS与CI/CD集成:如何实现持续部署的版本控制 【免费下载链接】gitfs Version controlled file system 项目地址: https://gitcode.com/gh_mirrors/gi/gitfs GitFS作为一个版本控制文件系统,为开发者提供了将Git仓库直接挂载为文件系统的能力&am…...
如何用BilibiliDown轻松下载B站视频:免费跨平台视频下载器终极指南
如何用BilibiliDown轻松下载B站视频:免费跨平台视频下载器终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/…...
MediaPipe人体姿态识别避坑指南:从环境配置到模型调优
MediaPipe人体姿态识别避坑指南:从环境配置到模型调优 人体姿态识别技术正在重塑人机交互的边界——从虚拟健身教练的实时动作纠正,到影视特效中的精准动作捕捉,这项技术正在多个领域展现惊人潜力。作为Google推出的跨平台解决方案࿰…...
ADXL345 I²C驱动开发:寄存器配置、FIFO与中断实战指南
1. ADXL345_I2C库深度解析:面向嵌入式工程师的IC加速度计驱动开发指南ADXL345是Analog Devices公司推出的超低功耗、高分辨率(13位)、数字输出三轴加速度传感器,广泛应用于姿态检测、振动监测、跌倒报警、工业预测性维护等场景。其…...
MMC-HVDC仿真模型及柔性直流输电相关基础模型集合
MMC-HVDC仿真模型,pscad柔性直流输电仿真mmc仿真模型,双端mmc模型,MMC为21电平NLM和均压控制,还有多端如张北直流电网以及基本mmc逆变器,自己为毕业网上收集的一些觉得有用的基础模型最近在折腾MMC-HVDC仿真࿰…...
告别ArcGIS Server高成本!手把手教你用GeoServer 2.16发布ArcGIS 10.2切片包
开源GIS解决方案:GeoServer高效发布ArcGIS切片全流程指南 在GIS领域,数据可视化与在线地图服务已成为基础设施建设的标配需求。然而,商业软件高昂的许可费用常常让中小型团队望而却步——以ArcGIS Server企业版为例,单台服务器年费…...
解锁Presto/Trino高级查询:从集合运算到多维分析与窗口函数实战
1. 从零掌握Presto/Trino集合运算 第一次接触Presto/Trino的集合运算时,我完全被UNION、INTERSECT、EXCEPT这些操作符搞晕了。直到在电商用户行为分析项目中踩过几次坑后,才发现它们其实是处理数据集的瑞士军刀。想象你手上有两份销售数据:线…...
思科ITN 7.00 PTSA综合实验通关指南:多版本识别与满分配置解析
1. 思科ITN 7.00 PTSA实验版本差异全解析 第一次接触思科ITN 7.00 PTSA实验的同学,往往会被随机分配的不同实验版本搞得晕头转向。我当年备考时就遇到过这种情况——明明照着同学的满分答案配置,最后却连基础网络连通都做不到。后来才发现,原…...
如何在Linux桌面环境下实现高效屏幕翻译:CuteTranslation完整解决方案深度解析
如何在Linux桌面环境下实现高效屏幕翻译:CuteTranslation完整解决方案深度解析 【免费下载链接】CuteTranslation Linux屏幕取词翻译软件 项目地址: https://gitcode.com/gh_mirrors/cu/CuteTranslation 对于Linux用户来说,面对外文技术文档、学术…...
