首页 > 编程语言 >排序算法------希尔排序

排序算法------希尔排序

时间:2022-11-10 18:33:58浏览次数:33  
标签:插入排序 interval 算法 序列 希尔 增量 ------ 排序

为了方便大家理解,我尽量写的浅显易懂,同时希望大家把不理解的发到评论中,我会尽所能,帮助你l理解。

欢迎qq进行交流问题:

      本人QQ :1770115451             算法交流群: 1061907071

插入排序算法:

   希尔排序也是一种插入排序,他是简单的插入排序,经过改进后的一个更高效的版本,也被称为“缩小增量排序”

其基本思想就是,先将数组分成 长度/2 的增量序列,然后一次从增量序列的第二个元素进行插入排序,插入完成之后,

在继续将增列序列的增量/2 ,直到增量序列为1时,排序完毕

 

 

算法实现步骤:

  第一步:将有n个元素的数组分成n/2的增量序列,并不断缩小增量   

  第二步: 从增量序列第二个元素开始 ,依次进行插入排序,间隔为增量

  第三步:当增量序列为1时候,排序完毕

代码实现

 

 1     public static void shellSort(int arr[]){
 2         //不断缩小增量
 3         for(int interval=arr.length/2;interval>0;interval=interval/2){
 4             //增量为    
 5             for(int i=interval;i<arr.length;i++){
 6                 int target=arr[i];
 7                 int j=i-interval;//定义一个向前比较的坐标
 8                 while(j>-1&&target<arr[j]){
 9                     arr[j+interval]=arr[j];//小于就往后挪
10                     j-=interval;
11                 }
12                 arr[j+interval]=target;        
13             }
14         }        
15     }

 

标签:插入排序,interval,算法,序列,希尔,增量,------,排序
From: https://www.cnblogs.com/songchengyu/p/16878014.html

相关文章

  • 是谁的请求导致我的系统一直抛异常?
    作者:屿山、十眠在线上环境中,请求错综复杂,如果有某个请求出现了不符合预期的情况,我们往往会先需要确定这个请求在实际环境中是由哪个Controller来处理的。通常情况下,我们......
  • linux系统安装坚果云
    官方手册地址:https://www.jianguoyun.com/s/downloads/linux1.安装linux系统必须先安装图形界面  2.命令行//官方命令行sudoyuminstallgvfslibappindicator-......
  • 项目成本管理的重要性:为了削减成本,马斯克裁员50%
    世界首富马斯克又又又上热搜了。上一次上热搜还是成为世界首富的新闻,没想到推特被马斯克收购后,进行的大规模裁员行动又让大家大吃一惊。除了解雇首席执行官和首席财务官等......
  • 【深入浅出 Yarn 架构与实现】2-3 Yarn 基础库 - 服务库与事件库
    一个庞大的分布式系统,各个组件间是如何协调工作的?组件是如何解耦的?线程运行如何更高效,减少阻塞带来的低效问题?本节将对Yarn的服务库和事件库进行介绍,看看Yarn是如何解......
  • zabbix5.0版本部署
    zabbix-server服务启动后,没有看到10051端口,那是因为:/etc/zabbix/zabbix_server.conf中连接数据库的值是lcoalhostlocalhost无法连接上数据库导致的。改成127.0.0.1就好了......
  • Java多线程
    一、创建多线程1.实现Runnable接口2.继承Thread类3.匿名类Runnable与Thread区别:一个是接口一个是类二、线程安全的类1.HashMap和Hashtable都实现了Map接口,都是键值对......
  • serilog 动态更新日志级别
    使用这个库,更新配置文件,就可以动态更新日志输出级别。newLoggerConfiguration().ReadFrom.Configuration(hostingContext.Configuration)这个Configuration定义在这儿......
  • 我们的客户《14年老牌PCB大厂倒下了》
      昨天头条上看到消息,我们去年合作的客户倒下了;2022年入冬以来,相继听到很多身边的朋友在说“某某PCB|SMT工厂”快不行了。听到此类消息,对本就饱受沧桑的市场环境来说,更......
  • CentOS下安装MariaDB
    1.安装服务端安装MySQL软件,可以在windows和linux下安装,此处只提供centos下安装过程。MariaDb是最近推出一款企业级MYSQLServerPerconaServer和MariaDb是当前最为流......
  • VR汽车实景3D交互展厅实现足不出门在线试驾-深圳华锐视点
    移动互联网时代,VR全景拍摄技术更是不断颠覆传统行业,4S店汽车虚拟现实体验店已经搬到了线上,VR版4S店除了提供真实精致的车型供你观看挑选,还可以通过VR360度全景来观看并......