当前位置: 首页 > news >正文

线性数据结构-链表

链表:线性数据结构(一维数组结构)
线性的数据结构强调存储和顺序

单向链表(也称为单链表)是一种简单的数据结构,其中每个节点包含两个部分:一个是数据元素(或称为值),另一个是指向下一个节点的指针。最后一个节点则指向一个空值来表示链表的结束。

function node(data, nextPtr){this.data = datathis.next = nextPtr
}

链表的添加
每一个节点都是认为自己是根节点

node1 -> node3 -> node5 -> node2
在node3 之后插入 newNode
newNode.next = node3.next
node3.next = newNode
node1 -> node3 -> newNode -> node5 -> node2

链表的删除

node1 -> node3 -> newNode -> node5 -> node2移除newNode节点
node3 .next = newNode .next
node1 -> node3 -> node5 -> node2
newNode.next 还存在依然指向node5

传递一个链表必须传递链表的根节点

链表的特点
1、空间不是连续的
2、每存放一个值,都要多开销一个引用空间

链表的优点:
1、只要内存足够大,就能存的下,不用担心内存碎片问题。
2、链表的添加和删除非常容易

链表的缺点:
1、查询速度慢,(指的查询某个位置)
2、链表的每一个节点都需要创建一个指向next的引用,浪费一些空间
双链表所有的东西都可以用单链表表示,双链表还存在来个引用空间,极其浪费时间

相关文章:

  • kafka-消费者组(SpringBoot整合Kafka)
  • typesense-开源的轻量级搜索引擎
  • pytorch中的维度变换操作性质大总结:view, reshape, transpose, permute
  • 【LeetCode 101】对称二叉树
  • text2sql、nl2sql框架总结
  • Aurora 8b/10b协议(高速收发器十五)
  • 小程序简单版录音机
  • MyBatisPlus——入门到进阶
  • 网络安全领域六大顶级会议介绍:含会议介绍、会议地址及会议时间和截稿日期
  • 动态IP与静态IP的优缺点
  • 如何手撸一个java ioc框架
  • 数字智能数字人直播带货软件系统 实现真人形象的1:1克隆 前后端分离 带完整的安装代码包以及搭建教程
  • Hadoop文件存储格式
  • 乘船过河(ship)
  • C语言基础:字符串函数使用与剖析
  • [PHP内核探索]PHP中的哈希表
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • Computed property XXX was assigned to but it has no setter
  • DataBase in Android
  • Selenium实战教程系列(二)---元素定位
  • Spring Boot快速入门(一):Hello Spring Boot
  • SQLServer之创建数据库快照
  • ubuntu 下nginx安装 并支持https协议
  • Vue官网教程学习过程中值得记录的一些事情
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • Web标准制定过程
  • win10下安装mysql5.7
  • 大数据与云计算学习:数据分析(二)
  • 诡异!React stopPropagation失灵
  • 用jQuery怎么做到前后端分离
  • ​【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确​
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • $ git push -u origin master 推送到远程库出错
  • $LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams
  • (CVPRW,2024)可学习的提示:遥感领域小样本语义分割
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (阿里云万网)-域名注册购买实名流程
  • (力扣题库)跳跃游戏II(c++)
  • (算法)求1到1亿间的质数或素数
  • (贪心 + 双指针) LeetCode 455. 分发饼干
  • (限时免费)震惊!流落人间的haproxy宝典被找到了!一切玄妙尽在此处!
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • ***原理与防范
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET 事件模型教程(二)
  • .net操作Excel出错解决
  • //usr/lib/libgdal.so.20:对‘sqlite3_column_table_name’未定义的引用
  • /etc/skel 目录作用
  • /proc/vmstat 详解
  • @RunWith注解作用
  • @取消转义
  • [ C++ ] 继承