单链表的指定结点的 插入 (前插和后插)操作

发布时间:2026/10/25 20:09:00

单链表的指定结点的 插入 (前插和后插)操作 文章目录指定结点的 后插 操作代码指定结点的 前插 操作代码解释 前插与后插物理结构与逻辑结构物理结构存储结构逻辑结构逻辑关系指定结点的 后插 操作代码#includestdio.h#includestdlib.htypedefstructLNode{intdata;structLNode*next;}LNode,*LinkList;// 后插操作在 p 结点之后插入元素 eboolInsertNextNode(LNode*p,inte){if(pNULL)returnfalse;LNode*s(LNode*)malloc(sizeof(LNode));if(sNULL)//内存分配失败returnfalse;s-datae;s-nextp-next;p-nexts;returntrue;}// 在 第 i 个位置插入元素 e (带头结点)boolListInsert(LinkListL,inti,inte){if(i1)returnfalse;LNode*p;intj0;pL;// p 初始指向头结点第 0号结点while(p!NULLji-1){pp-next;j;}if(pNULL)// i过大找不到前驱returnfalse;returnInsertNextNode(p,e);}// 配套初始化boolInitList(LinkListL){L(LNode*)malloc(sizeof(LNode));if(LNULL)returnfalse;L-nextNULL;returntrue;}指定结点的 前插 操作代码数据交换法//前插操作: 在p结点【逻辑上】之前插入元素 eboolInsertPriorNode(LNode*p,inte){if(pNULL)returnfalse;LNode*s(LNode*)malloc(sizeof(LNode));if(sNULL)returnfalse;s-nextp-next;p-nexts;//新结点 s 连到 p 之后s-datap-data;//p原有数据复制到sp-datae;//p存放新元素ereturntrue;}// 这段代码在物理上执行的是“后插”在 p 的后面挂新节点// 但通过“交换数据”的障眼法在逻辑上实现了“前插”让新元素出现在 p 的前面。// 它的时间复杂度是 O(1)远优于“找前驱再插入”的 O(n) 方法。这段代码在不使用找前驱的方式下对数据进行前插操作。解释 前插与后插单链表插入找前驱i-1改前驱的next改前驱的next就是后插这个后插在逻辑上就是目标位序的前插。即为 次序 i 的前插为次序 i-1 的后插。物理结构与逻辑结构物理结构存储结构指数据在计算机内存里真实存放的方式、内存地址分布、结点实际位置、指针连接方式。常见类型顺序存储连续整块内存数组链式存储离散内存靠指针 next 连接索引存储、散列存储关键词内存布局、地址、指针连接、结点真实位置、数组 / 链表存储形式问内存 / 指针布局 / 真实结点位置 物理层面逻辑结构逻辑关系指数据元素之间的抽象关系和内存怎么存无关、和地址无关只看遍历顺序 / 前后从属关系。描述谁是前驱、谁是后继、层级关系、图的连接关系线性一对一链表、顺序表树形一对多图状多对多集合无关联关键词前驱、后继、遍历顺序、前后顺序、算法功能、语义问顺序 / 遍历 / 算法功能 逻辑层面
延伸阅读

更多相关文章

2026/10/26 16:30:20

电子招投标实务指南:系统架构、操作流程与关键注意事项

一、电子招投标的定义与发展趋势电子招标投标活动,是指以数据电文形式,依托电子招标投标系统完成的全部或者部分招标投标交易、公共服务和行政监督活动。理解电子招投标需要把握几个关键点。首先,它依据现行招标投标法律法规开展,…

2026/10/25 22:38:04

RHCA考试必备:vim肌肉记忆与命令实战指南

1. 项目概述:为什么RHCA认证里必须把vim命令刻进肌肉记忆在RHCA(Red Hat Certified Architect)这条路上,很多人盯着Ansible Playbook的优雅结构、OpenShift集群的复杂拓扑、或者Terraform模块的抽象能力,却常常忽略一个…

2026/10/26 16:29:34

从零手写前馈神经网络:NumPy实现与梯度检查实战

1. 从零搭建前馈神经网络的核心设计思路1.1 为什么还要从零手写神经网络很多人第一次接触神经网络,都是从调库开始的。sklearn几行代码就能跑一个分类器,PyTorch搭个nn.Sequential也能很快出结果。但真到要排查问题的时候,比如损失不下降、梯…

2026/10/26 16:29:34

多Agent集群实战:自动化开发工作流与SSH远程管理

1. 从一台吃灰的服务器说起:为什么要折腾多 Agent 集群去年年底我盘了一下手头的设备,发现角落里有一台 32 核 64G 的服务器,平时就跑跑定时脚本和几个 Docker 容器,CPU 长期在 5% 以下晃悠。与此同时,我每天的工作流里…

2026/10/26 16:29:34

Linux LVM存储管理实战:从基础概念到性能优化

1. LVM存储核心概念解析 LVM(Logical Volume Manager)是Linux环境下对磁盘分区进行管理的一种机制。与传统分区方式相比,LVM最大的优势在于能够动态调整存储容量而无需重新分区或重启系统。这种特性在现代云计算和虚拟化环境中尤为重要&#…

2026/10/26 16:29:33

HAProxy七层管理实战:从原理到高并发优化

1. 为什么需要HAProxy七层管理 在分布式系统架构中,流量管理是个永恒的话题。我最早接触HAProxy是在2015年一个电商项目的灰度发布场景,当时用Nginx做负载均衡遇到动态路由配置频繁变更的问题。运维同事随手扔给我一个HAProxy配置片段,那个AC…

2026/10/26 16:24:30

Oracle AWR报告生成与性能分析实战指南

1. Oracle AWR报告核心价值解析在Oracle数据库性能调优领域,AWR(Automatic Workload Repository)报告堪称DBA的"诊断显微镜"。这份自动生成的性能快照记录了数据库在特定时间段内的完整活动画像,包含从SQL执行统计到系统…

2026/10/26 0:20:20

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/26 1:53:47

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/26 0:20:17

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/26 0:00:48

Nested Learning:解决AI灾难性遗忘的分层记忆架构

1. 为什么AI需要"记忆"能力?在传统深度学习模型中,我们常遇到一个根本性问题:模型在处理新任务时,往往会完全遗忘之前学到的知识。这种现象被业界称为"灾难性遗忘"(Catastrophic Forgetting)。想象一下&#…

2026/10/26 0:00:48

企业级大模型应用:OCR预处理、Dify编排与DeepSeek落地实战

1. 这不是“用大模型”,而是重构工作流的起点“大模型的应用和工具”——这八个字现在被贴在无数技术分享、招聘JD、内部立项书的标题栏里,但绝大多数人点进去后看到的,是零散的API调用示例、几个开源UI截图、或者一句“接入LLM就能降本增效”…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑