C++实现单链表按k值重新排序的方法
发布时间 - 2026-01-11 01:01:42 点击率:次本文实例讲述了C++实现单链表按k值重新排序的方法。分享给大家供大家参考,具体如下:

题目要求:
给定一链表头节点,节点值类型是整型。
现给一整数k,根据k将链表排序为小于k,等于k,大于k的一个链表。
对某部分内的节点顺序不做要求。
算法思路分析及代码(C)
思路:将链表分为小于k、等于k、大于k的三个链表,然后再合并。
链表结点定义:
typedef struct Node
{
int data;
struct Node* next;
}node, *pNode;
算法代码:
pNode sortLinkedList(pNode head, int k)
{
pNode sHead = NULL;//小头
pNode sTail = NULL;//小尾
pNode eHead = NULL;//等头
pNode eTail = NULL;//等尾
pNode bHead = NULL;//大头
pNode bTail = NULL;//大尾
pNode temp = NULL;
//拆分链表
while (head != NULL)
{
temp = head->next;
head->next = NULL;
if (head->data < k)
{
if (!sHead){
sHead = head;
sTail = head;
}
else{
sTail->next = head;
sTail = head;
}
}
else if (head->data == k)
{
if (!eHead){
eHead = head;
eTail = head;
}
else{
eTail->next = head;
eTail = head;
}
}
else
{
if (!bHead){
bHead = head;
bTail = head;
}
else{
bTail->next = head;
bTail = head;
}
}
head = temp;
}
//合并链表
if (sTail)
{
sTail->next = eHead;
eTail = (eTail == NULL ? sTail : eTail);
}
if (eTail)
{
eTail->next = bHead;
}
return sHead != NULL ? sHead : (eHead != NULL ? eHead : bHead);
}
希望本文所述对大家C++程序设计有所帮助。
# C++
# 单链表
# k值
# 排序
# 浅析C++中单链表的增、删、改、减
# C++中单链表的建立与基本操作
# C++ 单链表的基本操作(详解)
# 利用C++简单实现顺序表和单链表的示例代码
# C++使用模板实现单链表(类外实现)
# C++使用模板实现单链表
# C++实现单链表删除倒数第k个节点的方法
# C++实现单链表的构造
# C++单链表实现大数加法
# C++实现约瑟夫环的循环单链表
# 链表
# 小头
# 给大家
# 然后再
# 不做
# 所述
# 程序设计
# 整型
# 小尾
# 讲述了
# br
# gt
# strong
# lt
# class
# brush
# temp
# pre
# span
# int
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何用JavaScript实现文本编辑器_光标和选区怎么处理
Laravel如何配置Horizon来管理队列?(安装和使用)
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
html如何与html链接_实现多个HTML页面互相链接【互相】
如何用狗爹虚拟主机快速搭建网站?
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
HTML 中动态设置元素 name 属性的正确语法详解
如何快速使用云服务器搭建个人网站?
Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言
深圳网站制作平台,深圳市做网站好的公司有哪些?
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
Laravel模型关联查询教程_Laravel Eloquent一对多关联写法
js实现点击每个li节点,都弹出其文本值及修改
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
如何快速生成高效建站系统源代码?
Laravel PHP版本要求一览_Laravel各版本环境要求对照
如何快速生成可下载的建站源码工具?
Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
原生JS实现图片轮播切换效果
Laravel如何使用Sanctum进行API认证?(SPA实战)
Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作
简单实现jsp分页
用v-html解决Vue.js渲染中html标签不被解析的问题
EditPlus中的正则表达式 实战(2)
laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
高端智能建站公司优选:品牌定制与SEO优化一站式服务
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
Android Socket接口实现即时通讯实例代码
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
googleplay官方入口在哪里_Google Play官方商店快速入口指南
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
Bootstrap整体框架之JavaScript插件架构
EditPlus中的正则表达式 实战(4)
Laravel用户密码怎么加密_Laravel Hash门面使用教程
音响网站制作视频教程,隆霸音响官方网站?
如何用5美元大硬盘VPS安全高效搭建个人网站?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
如何快速搭建高效WAP手机网站吸引移动用户?
Laravel如何实现多对多模型关联?(Eloquent教程)
java获取注册ip实例
Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】
免费网站制作appp,免费制作app哪个平台好?
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制

