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

最近更新

县乡教师选调考试《教师职业道德》题库精编答.. 45页

监理工程师之水利工程目标控制题库及答案(全.. 167页

监理工程师之水利工程目标控制题库附参考答案.. 167页

监理工程师之水利工程目标控制题库及完整答案.. 166页

监理工程师之水利工程目标控制题库(历年真题.. 166页

不明原因肺炎排查 52页

小学中等生教育管理中的问题和对策研究 3页

导学案在初中语文教学中的应用策略研究 3页

对安全食物与问题食物的外显与内隐态度研究—.. 3页

不动产登记数据整合建库 27页

宽带低杂散S波段下变频组件研究 3页

实验是提高化学课堂有效性的重要途径——《二.. 3页

宅急送业务管理系统的分析与设计综述报告 3页

子洲气田清涧地区山2段致密砂岩气藏复杂气水关.. 3页

大鼠NALFD与胰岛素抵抗、高血压病及ApoB100水.. 3页

大宗交易对二级市场价格的影响 3页

大学生父母教养方式、宽恕与生活满意度的关系.. 3页

大学生SPOC学习态度实证研究 3页

大发供暖收费系统的设计和实现 3页

多孔流量计的数值模拟与设计 3页

复合生物滤塔去除CS2和H2S废气的研究 3页

塑料导爆管抗击穿性能相关问题研究 3页

基于高校图书馆流通数据的统计与分析 3页

基于需求导向政策支持,解决海水淡化产能过剩 3页

《饮湖上初晴后雨》词语解释 29页

基于语义优先的土地利用图斑综合的研究——以.. 3页

基于群文阅读的初中英语阅读教学 3页

2024年长沙民政职业技术学院单招职业技能测试.. 76页

兼职体育教练聘用合同 5页

连铸坯表面裂纹形成及防止研究学习教案 32页