news 2026/4/16 10:51:04

【数据结构】单链表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【数据结构】单链表

目录

引言

什么是单链表

基本概念

核心特点:

单链表图解

单链表的实现

1.手动创建链表

测试结果

2.单链表结构

链表打印

创建新结点

尾插 时间复杂度O(N)

尾插测试

头插 时间复杂度O(1)

头插测试

尾删 时间复杂度O(N)

尾删测试

头删 时间复杂度O(1)

头删测试

查找 时间复杂度O(N)

查找测试

​编辑

在指定位置之前插入数据 时间复杂度O(N)

测试​编辑

在指定位置后插入代码 时间复杂度O(1)

测试

删除pos结点 时间复杂度O(N)

测试

删除pos结点 时间复杂度O(1)

销毁链表 时间复杂度O(N)


代码放在下面链接啦,希望能对你有帮助~

戊苯菌/数据结构https://gitee.com/jiang-bos-blog-post/data-structure

引言

单链表是数据结构中的基础与经典,它以节点为单位,在非连续的内存空间中通过指针串联数据,形成逻辑上的线性序列。相比数组的静态连续存储,单链表天生具有动态扩展的能力,插入与删除节点只需调整指针,避免了大规模数据搬移的开销,尤其适合频繁变动的场景。然而,灵活性的代价是失去了随机访问的便捷,每一次查找都可能需要从头遍历。这种在时间与空间、顺序与链式之间的取舍,正是理解链表价值的关键所在。

什么是单链表

基本概念

单链表是一种线性数据结构,它通过指针将一组非连续的内存空间(节点)按特定顺序连接起来。

核心特点:

  1. 动态结构:内存空间按需分配,不需要预先确定大小

  2. 非连续存储:节点在内存中可以分散存储

  3. 单向链接:每个节点只能找到它的后继节点,不能直接找到前驱节点

单链表图解

通过上图,我们也不难看出,单链表实际上就是很多个结点结构如同火车车厢般链接(每个结点的指针都指向下一个结点,最后一个结点指向NULL)

单链表的实现

1.手动创建链表

测试结果

2.单链表结构

就像我们概念部分所介绍,单链表实际上包含存储数据部分和链接下一节点的指针,内容如上

链表打印

创建新结点

尾插 时间复杂度O(N)

尾插测试

头插 时间复杂度O(1)

头插测试

尾删 时间复杂度O(N)

尾删测试

头删 时间复杂度O(1)

头删测试

查找 时间复杂度O(N)

查找测试

在指定位置之前插入数据 时间复杂度O(N)

测试

在指定位置后插入代码 时间复杂度O(1)

测试

删除pos结点 时间复杂度O(N)

测试

删除pos结点 时间复杂度O(1)

测试

销毁链表 时间复杂度O(N)

推荐对头部进行改变(头插,头删等时间复杂度低)

感谢您看到这里,不知是否可以为博主留下一个点赞或评论呢?这对博主很有用,同时有问题或争论可以在评论区提出~感谢支持~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 16:00:51

几十行代码复刻火爆Manus,DeepAgents框架让小白也能构建企业级AI智能体

DeepAgents是LangChain 1.0新架构下的智能体框架,结合DeepSeek-v3.2可构建企业级AI系统。它通过插件式后端实现数据持久化,整合规划工具、文件系统、子代理和系统提示四大核心机制,使开发者能通过简单API处理复杂多步骤任务,让AI开…

作者头像 李华
网站建设 2026/4/14 12:46:56

华炎魔方:零代码构建企业级核心应用的革命性平台

在数字化转型浪潮中,企业面临着快速响应市场变化、降低开发成本、提升开发效率的多重挑战。华炎魔方(Steedos)作为Salesforce低代码平台的开源替代方案,正在重新定义企业应用的构建方式,让非技术用户也能轻松创建专业级…

作者头像 李华
网站建设 2026/4/16 7:21:45

Gitee崛起:中国开发者生态的“数字底座“正在重构

Gitee崛起:中国开发者生态的"数字底座"正在重构 在中国数字经济高速发展的背景下,本土代码托管平台Gitee正以独特的价值定位和技术优势,重塑着国内软件开发的基础设施格局。作为中国开发者生态的重要基础设施,Gitee不仅…

作者头像 李华
网站建设 2026/4/16 7:21:45

【推荐系统】深度学习训练框架(十六):模型并行——推荐系统的TorchRec和大语言模型的FSDP(Fully Sharded Data Parallel)

📦 第一部分:TorchRec 实战教程 TorchRec是PyTorch的领域库,专为大规模推荐系统设计。其核心是解决超大规模嵌入表在多GPU/多节点上的高效训练问题。 1. 安装与环境配置 首先安装TorchRec及其依赖。推荐使用CUDA环境以获得最佳性能。 # 1.…

作者头像 李华
网站建设 2026/4/16 7:20:52

Dify Custom Tool 调用超时问题排查与解决方案(claude-4.5-opus-high)

在使用 Dify 的 Custom Tool(自定义工具)功能调用外部 API 时,你是否遇到过这样的问题: 工具调用反复重试,日志中出现多次相同请求API 明明执行成功了,但 Dify 显示超时失败复杂的 AI 处理流程总是在中途断…

作者头像 李华
网站建设 2026/4/16 7:21:49

day123—二分查找—H 指数 II(LeetCode-275)

题目描述 给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数,citations 已经按照 非降序排列 。计算并返回该研究者的 h 指数。 h 指数的定义:h 代表“高引用次数”(high citations&#xff…

作者头像 李华