首页/新闻资讯/正文详情

C+java排序

发布时间:2026/9/25 21:07:43 来源:云帆数科 栏目:资讯中心
C+java排序
主要核心有7个排序一、直接插入排序时间复杂度O(N^2) 空间复杂度O(1) 稳定排序核心是将数组分为两个区间有序区间和待排序区间每次拿待排序区间第一个元素跟已排序区间从后往前比较大于才进行后移操作(保证稳定性)Java实现其中arr[cur1]value放在外面是为了保证下标为0的位置也可以插入元素C实现二、希尔排序时间复杂度最好能达到(N^1.3) 空间复杂度是O(1) 不稳定排序希尔排序是对直接插入排序的一种变形对直接插入排序当数组本身就有序跟要排的顺序一致或数组的小元素在前大元素在后时时间复杂度会下降。希尔排序利用这一点现将数组中元素分组对每组中数据进行直接插入排序最后再将分组个数减少最后到一组Java实现gap从 size/2 开始每次gap/2判断条件不能写gap1,会死循环所以最后加一个gap1时的希尔排序保证最后有序C语言实现这里gap每次除31这样不会死循环分组的次数也大三、选择排序时间复杂度O(N^2) 空间复杂度O(1) 不稳定排序使用了找数组中最值的思想也是分为待排序区间和已排序区间从待排序区间的首元素开始拿着它跟后面的元素比较比首元素小就交换找大放前面也行Java实现C语言实现四、堆排序时间复杂度O(NlogN) 空间复杂度O(1) 不稳定排序原理就是每次建立大堆的时候数组中最大的元素会被放在首元素小堆相反这样就可以每次让大堆的首元素与最后一个位置的元素交换减少堆中有效数据个数再向下调整重复操作Java实现C语言实现五、冒泡排序时间复杂度O(N^2) 空间复杂度O(1) 稳定排序原理很简单就是每次把最大值/最小值换到数组边上从前开始换小的从后开始换大的JavaC语言六、快速排序找一个基准值用最右边的定义两个指针分别从左右开始左边找到的就停下来右边找到的就停下来再交换。最后将left与right相遇位置数据与最右边数据交换此时这个基准值在数组中就有序了在返回相遇位置数组下标以[left,index-1] [index1,right]作为新区间重新进行。Java递归实现Java中非递归实现用一个栈对边界值进行保存C语言实现这是以最左边为基准值左边拿到的是基准值的右边拿到的是基准值的因为是拿beginend作为判断条件所以begin跟end会错位最后要返回end下标换有另一个写法快慢指针法定义一个cur一个prev将基准值的放右边的放左边每次cur走到小于基准值的地方就让prev若prev!cur就交换直到cur超出范围C语言非递归实现同样要借助栈来模拟后入先出的情况避免重复值太多使用三路划分保存key的值cur从left1开始arr[cur]小于基准值就跟left换换完leftcur,大于就和right换换完right--直至小于基准值数据换来换去会有很多无意义的操作官方数据库快排到一定深度时使用其他排序七、归并排序时间复杂度O(NlogN) 空间复杂度O(N) 稳定排序利用链表合并的思想将数组分为数组长度份单个元素让后再拼起来Java递归实现Java非递归实现这个非递归实现不需要栈来模拟后入先出的场景因此不需要栈只要一个size从1开始将数组分组相邻两组一合并因为采取[,)当mid或者rightsize时要让他sizeC语言递归实现与java大同小异区别就是C语言不能new数组所以一次申请一个相同长度的数组C语言非递归实现C语言对文件的归并排序八、计数排序时间复杂度O(Nrange) 空间复杂度O(range) 不稳定排序计数排序利用了哈希的思想拿待排序数据元素的值当新数组下标新数组的值当出现次数

相关推荐

AI视觉缺陷检测平台:从“人工抽检”到“全量智检”
AI视觉缺陷检测平台:从“人工抽检”到“全量智检”

在高端制造领域,产品质量是企业的生命线。然而,传统工业质检长期依赖“人工肉眼”模式,面临着效率低、易疲劳、标准主观等痛点,已成为制约产能与良率提升的瓶颈。作为产品经理,我认为破局的关键并非单纯引入一个“AI识… · 2026/9/25 21:07:18

Nemotron-3-Diarization基准实测分析:8人识别模型如何在8大测试集上把DER砍掉40%
Nemotron-3-Diarization基准实测分析:8人识别模型如何在8大测试集上把DER砍掉40%

Nemotron-3-Diarization基准实测分析:8人识别模型如何在8大测试集上把DER砍掉40% 【免费下载链接】Nemotron-3-Diarization 项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/Nemotron-3-Diarization Nemotron-3-Diarization 是 NVIDIA 开源的说话人分离… · 2026/9/25 21:06:59

CRMEB 标准版系统(Java)v3.2 公测版发布
CRMEB 标准版系统(Java)v3.2 公测版发布

CRMEB 标准版系统(Java)v3.2 公测版发布!此次,v3.2主要围绕真实使用过程中的关键环节进行了集中优化:部署更省事了:两个部署包合并成一个JAR,一个文件就能启动;后台接入AI MCP能力&a… · 2026/9/25 21:06:47

最新ComfyUI 0.37.1使用教程:画图、3D、音频都有改动 ComfyUI升级到0.37.1啦,新增或改进五大功能
最新ComfyUI 0.37.1使用教程:画图、3D、音频都有改动 ComfyUI升级到0.37.1啦,新增或改进五大功能

最新ComfyUI 0.37.1使用教程:画图、3D、音频都有改动 ComfyUI升级到0.37.1啦,新增或改进五大功能 引言 ComfyUI 最近连着更新了两个版本,变化不少。今天我们用大白话聊聊最新的 0.37.1 版本,新增或改进了哪些功能。整体看下来&… · 2026/9/26 1:25:01

嵌入式软件静态测试(三十九)——形式化验证技术:Hoare逻辑与分离逻辑在关键代码正确性证明中的应用
嵌入式软件静态测试(三十九)——形式化验证技术:Hoare逻辑与分离逻辑在关键代码正确性证明中的应用

❄️ 我的个人专栏: 《智能软件工程AI4SE》 《嵌入式面试总结》 《嵌入式处理器架构解析》 《嵌入式与虚拟化》 《嵌入式软件测试》 🌟 Simplicity is the ultimate sophistication摘要:本文系统介绍形式化验证技术在嵌入式关键代码正确性证… · 2026/9/26 1:24:55

Mira系列可见光与近红外图像传感器:AI视觉选型与实战配置指南
Mira系列可见光与近红外图像传感器:AI视觉选型与实战配置指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 1:24:49

LCD显示原理:从Framebuffer到RGB时序的嵌入式底层解析
LCD显示原理:从Framebuffer到RGB时序的嵌入式底层解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 1:24:49

CAD SC命令底层原理与工业级缩放避坑指南
CAD SC命令底层原理与工业级缩放避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 1:24:49

3ds Max与VRay版本匹配及安装配置全解析
3ds Max与VRay版本匹配及安装配置全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 1:24:49

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码