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

最近更新

能源企业通信网光传输设备不同品牌联网的利弊.. 3页

聚晶金刚石复合片(PDC)放电修磨的实验研究 3页

耐热导线运行温度对带电作业安全距离的影响研.. 3页

绿色理念融入方案设计的必要性分析 3页

综合式消力池坎高与池深组合消能计算方法 3页

经济管理与企业发展的和谐性研究 3页

线上+线下深度学习——关于小学数学混合式教学.. 3页

纤维增强多层水泥板结构性能研究的试验方法 3页

精益生产方式在电机风电机座铆焊中的应用 3页

管道线路岩溶勘察工作重点及方法 3页

筑牢产业基础,助力乡村振兴的实践探索 3页

章先生“独身家庭”投资理财规划方案设计 10页

程序化交易系统的检测与优化体系 3页

移动互联网用户行为感知与分析技术 3页

科技数据资源的开放共享机制研究 3页

福建省部分高校健美操选项课教学情况调查分析.. 3页

碱渣综合治理技术在炼油厂的应用 4页

研究称摄入大量多脂鱼类对孕妇有益 3页

矿井水位监测与控制系统的设计研究 3页

药品“两票制”培训 18页

英语六级常用的易错易混词 42页

腹部手术病人的护理 18页

肾移植术后感染并发症 123页

2025年龙年简短的祝福文案精选200句 30页

2025年龙年属鼠犯太岁吗 4页

2025年龙年信息技术四个字公司适合好名800个 9页

2025年鸡年韦姓男孩起名方法 4页

2025年鲁滨逊漂流记观后感800字 9页

2025年高质量晚安文案句子说说 17页

2025年高考语文写作结构技巧 5页