1 / 19
文档名称:

排序算法总结.docx

格式:docx   大小:47KB   页数:19页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

排序算法总结.docx

上传人:文秘资料站 2022/6/11 文件大小:47 KB

下载得到文件列表

排序算法总结.docx

文档介绍

文档介绍:排序算法总结
“yuanc”为你分享19篇“
排序算法总结
”,经本站小编整理后发布,但愿对你的工作、学习、生活带来方便。
篇1:选择排序算法总结
这里实现了选择数组里面最小值的代码,读者可以以此类推自己写出选择最大值的算法
/实现
/** * 找到数组里面第k大的元素 * ***@param array 输入的数组 * ***@param arraysize 数组大小 * ***@param kthnumber 第k大元素的大小 * ***@param k 第k大的元素 */void randomizedselect(int array[] , int arraysize , int * kthnumber , int k){ if(array == null || arraysize <= 0 || kthnumber == null || k <0 || k >= arraysize) return; randomizedselectkernel(array, 0 , arraysize-1 , kthnumber , k);}/** * 找到leftborder到rightborder中第k大的元素,递归函数 * ***@param array 输入的数组 * ***@param leftborder 左边界 * ***@param rightborder 右边界 * ***@param kthnumber 第k大的元素的实际值 * ***@param k 第k大的元素 */void randomizedselectkernel(int array[], int leftborder , int rightborder ,int * kthnumber , int k){ if(leftborder > rightborder) return ; // 这里采用快速排序的思想来完成 int i = leftborder-1; int j = leftborder; int x = array[rightborder]; // 首先找到主元 for(; j < rightborder ; ++j) { if(array[j] <= x) {exchange(array , j , ++i); } } ++i; exchange(array , i , rightborder); // 现在位置i就是需要放置主元的地方 if(i == leftborder+k-1) *kthnumber = array[i]; else if(i > leftborder+k-1) randomizedselectkernel(array , leftborder , i-1 , kthnumber , k); else if(i < leftborder+k-1) randomizedselectkernel(array , i+1, rightborder , kthnumber , k-(i-leftborder+1));}
运行结果
input array is :
96 47 95 38 53 45 3 92 20 73
2th max number is———————- 20
3 20 45 38 47 53 73 92 96 95
1th max number is———————- 3
3 20 45 38 47 53 73 92 96 95
3th max number is———————- 38
3 20 38 45 47 53 73 92 96 95
6th max number is———————- 53
3 20 38 45 47 53 73 92 96 95
迭代方式实现
/** * 找到数组里面第k大的元素 * ***@param array 输入的数组 * ***@param arraysize 数组大小 * ***@param kthnumber 第k大元素的大小 * ***@param k 第k大的元素 */void randomizedselect(int array[] , int arraysize , int * kthnumber , int k){ if(array == null || arraysize <= 0 || kthnumber == null || k <0 || k >= arraysize) return; int left = 0; int right = arraysize-1; int k

最近更新

Cr-Zr-Mg-Cu缝焊电极焊接中的裂纹分析 2页

2025年工商管理实习自我鉴定怎么写 15页

林地承包出租合同 6页

2025年工勤人员年度考核登记表个人总结5篇 13页

BD2F钢亚温气体碳氮共渗和淬火工艺研究与应用.. 2页

2025年工作总结财务统计报告 15页

村民土地互换合同协议 6页

酒店水电工程设计、施工一体化合同(2025年度.. 9页

游泳馆升级改造装修协议 9页

报价后客户不回复怎么办 45页

6CrNiMnSiMoV钢冷处理工艺 2页

604型双重造影硫酸钡混悬剂(干品)技术鉴定会 2页

殡葬车辆运输安全协议 9页

标准货物运输承运合同模板 9页

4500米钻机提升系统静动态载荷测试的初步分析.. 2页

2025年属龙本命年2025年应注意什么 4页

30万千瓦汽轮机第十二压力级叶片事故分析 2页

建筑工程居间合同样本范本 8页

酒店绩效考核的问题与对策 5页

论“霍桑实验”在公共部门人力资源管理中的应.. 5页

有限责任公司合作投资合同协议 7页

环保企业人力资源管理策略 4页

学校图书馆书架安装合同 9页

本科会计论文选题及提纲 6页

大规模风电并网背景下火电调峰行为演化博弈模.. 2页

技能型人才培养与成长规律研究课题申请评审书.. 5页

年终绩效考核 4页

工商管理专业毕业论文优秀4 6页

小议企业文化在企业管理中的作用 6页

宝鸡文理学院论文开题报告模版-清爽大气完整版.. 5页