切割链表 问题的讲解和实现(带哨兵位)

一:题目

二:思路讲解

将小于x的放进一个新的链表,将≥x的也放进另一个新链表。

然后 第一个新链表的尾节点的next链接到第二个新链表的哨兵节点的next,因为本身不存在哨兵位。

最后 链接完成后的链表的最后一个节点的next一定要置空,因为该节点在一开始的链表中的next是有指向的,而他是最后一个,它的指向没被改变,有可能会造成死循环,成环!

ghead 和 gtail 为>=x的链表的哨兵位,lhead 和 ltail 为<x的链表的哨兵位

1:根据x形成两个新链表

2:两个链表的 连接

需要注意的是:ltail这个尾节点连接的ghead的下一个节点,而不是ghead这个节点,因为两个链表的哨兵位是我们创建的,后面都会被释放。

3:将新链表的尾节点gtail的next一定要置空

否则可能出现以下情况:

因为: 

该尾节点在一开始的链表中的next是有指向的,而他是最后一个,它的指向没被改变,有可能会造成死循环,成环!

代码展示:

 

最后需要注意的是:

两个链表拼接到一起的新链表的头指针,不是哨兵位,而是哨兵位的下一个节点,因为题目给的链表不存在哨兵位,哨兵位只是我们方便自己进行操作。

哨兵位的优势:

就算小于x或者大于等于x的链表为空,它都可以直接使用

其次优势: 

第一次的插入,不需要再去判断两个链表的head和tail是否为空,然后再去进行额外的操作。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/610199.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python数据分析——数据的选择和运算

数据的选择和运算 前言一、数据选择NumPy的数据选择一维数组元素提取示例 多维数组行列选择、区域选择示例 花式索引与布尔值索引布尔索引示例一示例二 花式索引示例一示例二 Pandas数据选择Series数据获取DataFrame数据获取列索引取值示例一示例二 取行方式示例loc() 方法示例…

天地图2024版正式启用!首次开放多时相影像专题,可直接查看历史影像

近日&#xff0c;国家基础地理信息中心正式发布了天地图2024版。 新版本更新2米分辨率遥感影像794万平方公里、优于1米分辨率遥感影像655万平方公里&#xff0c;在线服务2米分辨率遥感影像覆盖全部陆地国土、优于1米遥感影像覆盖陆地国土达到98%&#xff0c;同时新增多时相遥感…

航空科技:探索飞机引擎可视化技术的新视界

随着航空技术的飞速发展&#xff0c;飞机引擎作为航空器最为关键的部件之一&#xff0c;其性能直接影响到飞机的安全性、经济性和环保性。因此&#xff0c;飞机引擎可视化技术的应用日益成为航空行业研究和发展的热点。 通过图扑将复杂的飞机引擎结构和工作原理以直观、生动的…

Linux中的日志系统简介

在的Linux系统上使用的日志系统一般为rsyslogd。rsyslogd守护进程既能接收用户进程输出的日志&#xff0c;又能接收内核日志。用户进程是通过调用syslog函数生成系统日志的。该函数将日志输出到一个UNIX本地域socket类型&#xff08;AF_UNIX&#xff09;的文件/dev/log中&#…

动联再掀创新风潮!P92 Max智能POS机惊艳发布

当下&#xff0c;智能支付与零售行业正经历着深刻变革&#xff0c;移动支付、无人支付等新型支付方式在我国广泛应用&#xff0c;显著优化了消费者的支付体验&#xff0c;同时也为零售行业带来新的发展契机。动联&#xff0c;凭借其在身份认证领域的深厚技术底蕴与创新精神&…

CRM客户关系管理系统源码部署/售后更新/搭建上线维护

基于ThinkPHPFastAdmin开发的CRM客户关系管理系统&#xff0c;专门为企业销售团队量身定制的工具&#xff0c;它能够有效地管理跟进客户&#xff0c;提高销售业绩&#xff01;提供无加密源代码&#xff0c;可以自行根据不同企业的需求进行开发定制。Uniapp版本(高级授权)支持编…

微服务保护-学习笔记

微服务保护 1 Sentinel入门1.1 雪崩问题1.1.1 什么是雪崩问题1.1.2 如何解决雪崩设置超时时间仓壁模式熔断降级限流&#xff08;预防措施&#xff09; 1.2 服务保护技术对比1.3 Sentinel介绍与安装Sentinel 特征Sentinel 安装 1.4 Sentinel整合微服务 2 流量控制3 熔断隔离和降…

【通信协议解析】WiFi协议解析

WiFi协议解析 一、发展由来 Wi-Fi&#xff0c;又称“无线网络”&#xff0c;是Wi-Fi联盟的商标&#xff0c;一个基于IEEE 802.11标准的无线局域网技术。“Wi-Fi”常写作“WiFi”或“Wifi”&#xff0c;但是这些写法并没有被Wi-Fi联盟认可。Wi-Fi产品经由Wi-Fi联盟的一家独立授…

MT7516A-ASEMI变频器专用MT7516A

编辑&#xff1a;ll MT7516A-ASEMI变频器专用MT7516A 型号&#xff1a;MT7516A 品牌&#xff1a;ASEMI 封装&#xff1a;MT-5 最大重复峰值反向电压&#xff1a;1600V 最大正向平均整流电流(Vdss)&#xff1a;75A 功率(Pd)&#xff1a;大功率 芯片个数&#xff1a;5 引…

数据结构与算法学习笔记八-二叉树的顺序存储表示法和实现(C语言)

目录 前言 1.数组和结构体相关的一些知识 1.数组 2.结构体数组 2.二叉树的顺序存储表示法和实现 1.定义 2.初始化 3.先序遍历二叉树 4.中序遍历二叉树 5.后序遍历二叉树 6.完整代码 前言 二叉树的非递归的表示和实现。 1.数组和结构体相关的一些知识 1.数组 在C语…

百倍潜力股Aleo即将上线,布局正当时!牛市来时,你得有币!

前言 在加密货币市场&#xff0c;2024年被众多市场专家预测为迎来新一轮牛市的关键年份。这一预测背后&#xff0c;潜藏着多种可能推动牛市的因素。其中&#xff0c;下一次比特币&#xff08;BTC&#xff09;的减半事件&#xff0c;以及2024年 BTC 现货ETF的推出&#xff0c;都…

二叉树-堆

树 在数据库中&#xff0c;树是一种数据结构&#xff0c;用于组织和存储数据&#xff0c;使得可以高效地进行插入、删除和查找操作。它通常用于表示层次关系或者有序集合。 基本概念 节点&#xff1a;树结构中的每个元素都称为节点。 根节点&#xff1a;树的最顶端节点。 子…

智能奶柜:健康生活新风尚

智能奶柜&#xff1a;健康生活新风尚 在快节奏的都市生活中&#xff0c;健康与便利成为了现代人的双重追求。而在这两者交汇之处&#xff0c;智能奶柜应运而生&#xff0c;它不仅是科技与生活的完美融合&#xff0c;更是日常营养补给的智慧之选。 清晨的第一缕温暖 —— 新鲜…

《应用现代化技术能力成熟度评估模型》介绍

在中国软件行业协会、应用现代化产业联盟以及中国电子技术标准化研究院的指导下&#xff0c;产业多家企业共同支持和参与下&#xff0c;完成的《应用现代化技术能力成熟度评估模型》标准。该标准从应用敏捷、稳定可靠、安全可信、业务智能、成本优化五大维度及22个能力项来评估…

【Linux系统编程】第十四弹---进度条

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、回车和换行 2、观察回车换行现象 3、缓冲区 4、usleep和fflush函数 5、简单倒计时 6、进度条 6.1、版本一 6.2、版本…

基于Python的数据分组技术:将数据按照1, 2, 3规则分为三个列表

目录 一、引言 二、数据分组原理与意义 三、案例分析 四、代码实现与解释 五、对新手友好的解释 六、技术细节与扩展 七、实际应用场景 八、总结 一、引言 在数据处理和分析的广阔领域中&#xff0c;数据分组是一项基础且重要的任务。数据分组通常指的是将数据集中的元…

最新版在线客服系统源码

源码介绍 首发最新在线客服系统源码&#xff0c;优化更好并且重构源码布局UI 性能不吃cpu并发快,普通1H2G都能带动最新版只要是服务器都能带动 搭建即可使用,操作简单,易懂 修复了老版本bug 内附有搭建教程 gofly.v1kf.com 运行环境 Nginx 1.20 MySQL 5.7 演示截图

双筒水封式防暴器有诚信才会被信赖

选择一款满意的产品&#xff0c;始于需求&#xff0c;终于品质&#xff0c;有品质才会热爱&#xff0c;有诚信才会被信赖 一、用途介绍&#xff1a; STFB型双筒水封式防爆器属于双罐结构的水封式防爆器&#xff0c;安装在抽放瓦斯泵吸气侧和排气端的管路上靠防爆器底部的水封保…

使用Docker安装Nginx

一、Nginx介绍 Nginx 是一款高性能的开源 Web 服务器和反向代理服务器&#xff0c;具有高效能、高稳定性、低资源消耗等优点。可以处理大量并发请求&#xff0c;支持多种协议&#xff0c;还能实现负载均衡、缓存等功能&#xff0c;在互联网应用中被广泛使用。在Nginx中&#xf…

ros 学习记录(二)URDF小车运动控制

URDF小车运动控制 准备工作创建 robot_xacro.launch 接上文&#xff0c;想用键盘控制小车在Gazebo中移动。 准备工作 名称版本ROSNoeticGazebo11.11.0 创建 robot_xacro.launch 通过运行这个launch文件&#xff0c;可以启动Gazebo仿真环境&#xff0c;并在仿真环境中加载和…