尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

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

希尔排序快速排序归并排序
📅 发布时间:2026/6/19 6:38:47

希尔排序:插入排序的改良版,先取一个增量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}
}

相关新闻

  • 2025 年 11 月粘度计厂家推荐排行榜,在线粘度计,旋转粘度计,振动粘度计,实验室旋转粘度计,反应釜在线粘度计公司推荐
  • flask: 用Flask-Uploads实现文件上传
  • 2025 年 11 月冲压件厂家推荐排行榜,新能源冲压件,光伏冲压件,精密冲压件,异形冲压件,五金冲压件,铝冲压件,汽配冲压件,不锈钢冲压件,家具冲压件公司推荐

最新新闻

  • 深入解析P4080DS嵌入式系统:从电源、时钟到ngPIXIS FPGA的硬件设计精髓
  • ERPNext开源ERP完整教程:中小企业如何零成本实现数字化转型
  • rvest完整指南:3分钟掌握R语言最简单网页抓取技巧
  • CANN/asc-devkit:half转int32函数
  • 如何高效使用Python SECS/GEM库:半导体设备通信的终极指南
  • 2026年值得信赖的家纺店推荐 服务品质之选 价格透明零套路 - mypinpai

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号