当前位置: 首页 > news >正文

希尔排序快速排序归并排序

希尔排序:插入排序的改良版,先取一个增量d,d=n/2,再从数列的第一个元素开始,每隔d个取数,将这几个数排序,再将d/2,依旧从第一个数开始,相隔d取数排序,直到d取1,一定可以将原数列排列完整。相比于插入排序,希尔排序每轮进行排序的元素较小,每轮排序的数更接近有序数列,充分发挥插入排序在较小数列和较有序数列性能更好的的优点。

快速排序:使用一个基准,作为中间值,小于这个基准的元素放在左边,大于的放在右边。记有m个元素在左边,执行一次后,再将左边m个元素进行一次排序,右边进行一次排序,直到l=r。

int a[100];int partition(int l,int r)
{int m=l;               //m是分组数列的第一个元素int t=a[r];             //将队尾标记为基准for(int i=l;i<r;i++)   {if(a[i]<t)          {swap(a[i],a[m]);    //将小于基准数的元素放在该组数列前m++;               //m可以向后移}}swap(a[m],a[r]);return m;                //m之前的元素都比基准数小
}void quicksort(int l,int r)
{if(l<r){int i=partition(l,r);quicksort(l,i-1);    //基准数在中间,一定是拍好序的quicksort(i+1,r);}
}

快速排序和希尔排序是不稳定的排序,若数列中两个元素的值一样,则可能改变两个元素的顺序。

归并排序:先将整个数列离散范围n个部分,再将这n个数两两合并的同时排序,以此分组继续归并,排序。

int a[10],b[10];void merge(int l,int mid,int r)
{int i=l,j=mid+1,t=0;while(i<=mid&&j<=r)               //分为左右两个组,如果左边的组元素比右边的小,则将左边的元素进入b数组,反之则将右边的进入。{if(a[i]<a[j])b[t++]=a[j++];elseb[t++]=a[i++];}while(i<=mid) b[t++]=a[i++];      //将左右还剩余的部分进入b数组while(j<=r) b[t++]=a[j++];for(i=0;i<t;i++) a[l+i]=b[i];     //将已经排列好的数放回原数列
}void mergesort(int l,int r)
{if(l<r)                             //最先开始将l=0,r=n-1{int mid=(l+r)/2;                //按照先左后右的形式逐渐分组mergesort(l,mid);mergesort(mid+1,r);merge(l,mid,r);                 //将数列离散化后开始合并,离散的最小单位为2}
}
http://www.jsqmd.com/news/37011/

相关文章:

  • 2025 年 11 月电源适配器厂家推荐排行榜,12V2A电源适配器,12V电源适配器,24V电源适配器,笔记本电源适配器公司推荐
  • shadcn之表单
  • 2025 年 11 月粘度计厂家推荐排行榜,在线粘度计,旋转粘度计,振动粘度计,实验室旋转粘度计,反应釜在线粘度计公司推荐
  • Numpy - numpy.random.randn()
  • flask: 用Flask-Uploads实现文件上传
  • AI元人文:交织的智慧——应对价值困境的四条路径
  • 光学神经网络
  • 2025 年 11 月疥螨阴虱药剂厂家推荐排行榜,扑灭司林,苯甲酸苄酯,胺氯菊百灭宁,科灭达专业配方高效灭杀方案公司推荐
  • 黑马点评优雅关闭服务
  • 01-03 设计模式 - 导学
  • 35
  • 2025 年 11 月冲压件厂家推荐排行榜,新能源冲压件,光伏冲压件,精密冲压件,异形冲压件,五金冲压件,铝冲压件,汽配冲压件,不锈钢冲压件,家具冲压件公司推荐
  • Day17内容溢出overflow属性
  • 日总结 24
  • 谷歌广告生态指南:AdSense/GAM 接入避坑 + 填充监听 + 问题排查
  • P4511 日程管理
  • 11.10学习总结
  • 新编故事 | 噪音
  • Oracle数据库实例深度解析与实践指南
  • 2025 年 11 月流量计厂家推荐排行榜,热式/模拟式/数字式/高压/高温/耐腐蚀/多气体/4-20mA/RS485/分体式/不锈钢/高精度流量计公司推荐
  • 20232405 2024-2025-1 《网络与系统攻防技术》实验四实验报告
  • 2025 年 11 月聚氨酯厂家推荐排行榜,浇注型聚氨酯,聚氨酯预聚体,聚氨酯胶黏剂,聚氨酯组合料,聚氨酯密封,聚氨酯轮,聚氨酯胶辊,聚氨酯制品公司推荐
  • duckdb比sqlite大多了
  • 20232303 2025-2026-1 《网络与系统攻防技术》实验四实验报告
  • 2025 年 11 月氢氧化镁厂家推荐排行榜,矿石氢氧化镁,矿石法氢氧化镁,水镁石氢氧化镁,阻燃剂氢氧化镁,改性氢氧化镁公司推荐
  • 20232415 2025-2026-1 《网络与系统攻防技术》实验四实验报告
  • React:使用Tailwind CSS、Streamdown与Ant Design X
  • Day17清除默认样式
  • 2025 年 11 月磨粉机厂家推荐排行榜,雷蒙磨粉机,环辊磨粉机,摆式磨粉机,矿石磨粉机,超细磨粉机,高压磨粉机公司推荐
  • 详细介绍:探究微波消解仪如何创新现代实验室的样品前处理流程