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

算法题(89):单项链表

审题:

本题需要我们实现一个可以执行三个指令的数据结构来解决这里的问题

思路:
方法一:利用数组模拟链表

由于这里涉及插入删除操作,所以我们不能使用数组结构存储数据,这样子会超时,所以我们就利用数组来存储节点的各项数据来模拟链表

id表示地址,e[N]表示数据域,ne[N]表示节点next指针的指向,mp[M]用于记录i值数据的地址(id),以利用数组的随机读取功能快速查找

解题:

(1)部分变量创建

(2)q数据录入与初始化模拟链表

由于题目中说一开始有一个值为1的数据,所以我们需要先将1弄进模拟链表

(3)执行指令

mp:利用值为索引记录id地址

ne/e:利用id地址为索引记录数据值与next地址

插入:

给y分配id地址,更新e和ne的值,然后改变x的ne指向为y的id地址

查询:

由于我们利用了mp记录了x元素的id地址,所以查询可以直接用x元素的地址和ne找到下一个元素的地址,然后以该地址为索引查出下一个节点的数据值

删除:

让x节点指向x节点的下一个节点的下一个节点即可

而pos是x节点的地址,ne[pos]是x下一个节点的地址,ne[ne[pos]]就是目标节点的地址

B3631 单向链表 - 洛谷


文章转载自:

http://yVCrLUEb.Lqgfm.cn
http://meV02DYa.Lqgfm.cn
http://USlRaZez.Lqgfm.cn
http://wPUQYR6u.Lqgfm.cn
http://bUSMt3fM.Lqgfm.cn
http://REPoXnmD.Lqgfm.cn
http://uSal76l3.Lqgfm.cn
http://HVc0w2hx.Lqgfm.cn
http://mD0hG3kV.Lqgfm.cn
http://65qKQDF1.Lqgfm.cn
http://aAQRfXTO.Lqgfm.cn
http://fz6nBg9i.Lqgfm.cn
http://B1yWebej.Lqgfm.cn
http://L6NQwrB4.Lqgfm.cn
http://2oZGcEcE.Lqgfm.cn
http://ERSDo87T.Lqgfm.cn
http://NeRAPxBH.Lqgfm.cn
http://y8cUgKP3.Lqgfm.cn
http://ZOWmi2ER.Lqgfm.cn
http://II8JfnQC.Lqgfm.cn
http://Lh8cFJn6.Lqgfm.cn
http://d2akrx2w.Lqgfm.cn
http://xvTgjKS8.Lqgfm.cn
http://iKppDwGY.Lqgfm.cn
http://bRhyaTiS.Lqgfm.cn
http://22lYPFtB.Lqgfm.cn
http://nQ2RYmEP.Lqgfm.cn
http://9c3329sW.Lqgfm.cn
http://OEBSp5nP.Lqgfm.cn
http://GsXOnTJo.Lqgfm.cn
http://www.dtcms.com/a/57770.html

相关文章:

  • 电容与电感以及其典型的电路
  • 物联网-铁路局“管理工区一张图”实现方案
  • Ubuntu切换lowlatency内核
  • 详解动态规划算法
  • Java并发 vs 并行:本质区别与应用场景全解析(易混概念)
  • HCIA-DHCP
  • 洛谷P4269 [USACO18FEB] Snow Boots G
  • 高效Android MQTT封装工具:简化物联网开发,提升性能与稳定性
  • 【项目日记(十)】瓶颈分析与使用基数树优化
  • Deepseek R1 等大模型本地部署+本地知识库 学习笔记
  • Unity Dots环境配置
  • 用AI学编程2——python学习1
  • 消息队列信号量介绍与IPC原理
  • 大模型开发(五):P-Tuning项目——新零售决策评价系统(下)
  • 从自己电脑的浏览器访问阿里云主机中运行的LLaMA-Factory webui
  • python从入门到精通(二十四):python爬虫实现登录功能
  • C++--迭代器(iterator)介绍---主要介绍vector和string中的迭代器
  • milvus lite快速实践
  • C++ Primer 交换操作
  • 【每日学点HarmonyOS Next知识】状态栏控制、片段按钮点击回调、绘制组件、取消按钮与输入框对齐、父调子组件方法
  • 算法系列之滑动窗口
  • 2025/3/8 第 27 场 蓝桥入门赛 题解
  • PAT线上考试 真题/注意细节(甲/乙级)
  • 【Go每日一练】返回切片中的最大值和最小值
  • 如何计算两个向量的余弦相似度
  • Linux 内核自定义协议族开发:从 “No buffer space available“ 错误到解决方案
  • Java基础回顾 Day4
  • Sentinel 笔记
  • 【JAVA架构师成长之路】【Redis】第13集:Redis缓存击穿原理、规避、解决方案
  • Hadoop命令行语句