/** 希爾排序:先取一個小於n的整數d1作為第一個增量,

* 把文件的全部記錄分成(n除以d1)個組。所有距離為d1的倍數的記錄放在同一個組中。

* 先在各組內進行直接插入排序;然后,取第二個增量d2

* 直至所取的增量dt=1(dt

public classShellSort {public static void sort(int[] data) {for (int i = data.length / 2; i > 2; i /= 2) {for (int j = 0; j < i; j++) {

insertSort(data, j, i);

}

}

insertSort(data,0, 1);

}/***@paramdata

*@paramj

*@parami*/

private static void insertSort(int[] data, int start, intinc) {for (int i = start + inc; i < data.length; i +=inc) {for (int j = i; (j >= inc) && (data[j] < data[j - inc]); j -=inc) {

SortTest.swap(data, j, j-inc);

}

}

}

}/** 屬於插入類排序,是將整個無序列分割成若干小的子序列分別進行插入排序

* 排序過程:先取一個正整數d1

* 組內進行直接插入排序;然后取d2

* 初始:d=5   49 38 65 97 76 13 27 49 55 04

* 49 13   |-------------------|

* 38 27 |-------------------|

* 65 49   |-------------------|

* 97 55 |-------------------|

* 76 04   |-------------------|

* 一趟結果   13 27 49 55 04 49 38 65 97 76

* d=3    13 27 49 55 04 49 38 65 97 76

* 13 55 38 76 |------------|------------|------------|

* 27 04 65 |------------|------------|

* 49 49 97 |------------|------------|

* 二趟結果 13 04 49* 38 27 49 55 65 97 76

* d=1   13 04 49 38 27 49 55 65 97 76

*    |----|----|----|----|----|----|----|----|----|    三趟結果

* 04 13 27 38 49 49 55 65 76 97*/

java 堆排序方式_幾種排序方式的java實現(02:希爾排序,歸並排序,堆排序)相关推荐

  1. java基数排序 数组_万字长文带你掌握Java数组与排序,代码实现原理都帮你搞明白!...

    查找元素索引位置 基本查找 根据数组元素找出该元素第一次在数组中出现的索引 public class TestArray1 { public static void main(String[] arg ...

  2. java 数组包含_灵魂拷问:如何检查 Java 数组中是否包含某个值?

    作者 | 沉默王二 责编 | Elle 在逛 programcreek 的时候,我发现了一些专注细节但价值连城的主题.比如说:如何检查Java数组中是否包含某个值 ?像这类灵魂拷问的主题,非常值得深入 ...

  3. ubuntu java classpath 设置_在Ubuntu中正确设置java classpath和java_home

    我有错误 Exception in thread"main" java.lang.NoClassDefFoundError: 当我尝试在Ubuntu上运行编译类时.我使用的是一个非 ...

  4. java 工作业绩_个人年度工作总结报告java

    <个人年度工作总结报告java.doc>由会员分享,可免费在线阅读全文,更多与<个人年度工作总结报告java>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存 ...

  5. Java并发插件_五分钟,轻松掌握Java并发编程!

    Java作为最流行的编程语言之一,随着 Java 8的到来,越来越多的人开始学习,并深入研究!下面将介绍 Java并发编程,让开发者在最短的时间里掌握并发编程. 1. 并发 1.1. 什么是并发? 并 ...

  6. java spi 扩展_【扩展和解耦】JAVA原生SPI实现插件扩展

    Java极客  |  作者  /  铿然一叶 这是Java极客的第 81 篇原创文章 相关阅读: 1. 什么是插件 通俗的讲插件有以下特征: 1.增加或者替换已有能力 2.不影响原有功能 3.对原有系 ...

  7. java设备发现_使用wifi发现移动设备 - java

    我正在为网络论文做一些工作,但遇到了一个小问题.我必须做的第一步工作之一是让一台计算机作为AP工作(为此我正在使用hostapd),并使用它来检测房间中当前打开了wifi的所有设备(不需要与任何AP关 ...

  8. java读书心得_范文精选-读书心得体会-java夜未眠读书心得

    1 java 夜未眠读书心得 通过参加这次的 java 夜未眠读书培训,这个对于系统的扩展是很有用处的. new 已经决定了你肯定要这个类, 而静态方法却可以修改, 不一定肯定返回你方 法所在的类,可 ...

  9. java核心面试_前100多个核心Java面试问题

    java核心面试 Core Java interview questions help you in preparing for java based interviews. Whether you ...

最新文章

  1. Oracle数据库 查看表是否是 索引组织表的方法
  2. 用.NET解索尼相机ARW格式照片
  3. google i/o_Google I / O 2017最有希望的突破
  4. CVPR 2021 | 用于动作识别,即插即用、混合注意力机制的 ACTION 模块
  5. Java案例:通过循环打印一颗爱心
  6. 鸿蒙os开启第二批公测,鸿蒙OS开启第二批公测,7款机型加入升级名单,NOVA用户恭喜了...
  7. (47)LINUX应用编程和网络编程之二Linux文件属性
  8. 漫画:从打牌到 map-reduce 工作原理解析
  9. 跨域两种解决方案CORS以及JSONP
  10. 各自然带代表植被_十种常见自然带所对应的植被 十种常见自然带所对应的气候类型...
  11. Transaction-based classification and detection approach for Ethereum smart contract
  12. statsmodels.stats.proportion.proportions_ztest
  13. 父级fixed_相对于父元素的fixed定位的实现
  14. 超过2t硬盘分区_大于2T的磁盘怎么分区呢?
  15. jxr怎么变成jpg_【推文】夫君是未来大魔王怎么办?作死女配掉线了与你千般好...
  16. 云出阿里见月明(二)
  17. 基于近半年Twitter与Github趋势分析_12大分类500+ChatGPT最新开源GitHub存储库(涵盖ChatGPT开发全框架、全编程语言及教程)——每周更新
  18. VMware安装优麒麟20.04LTS
  19. Android_Vibrator(振动器)使用解析
  20. EMA(指数移动平均)及其深度学习应用

热门文章

  1. 计算机网络运输层的概述,计算机网络_运输层
  2. python3.5兼容2.7吗_Python版本2.7切3.5和3.5切2.7
  3. python列表生成式内必须定义匿名函数_Python基础-----基础概念总结
  4. python-docx 如何获取当前字号_餐饮老字号迈上“云端”
  5. 忘记mysql数据库名称_忘记MySQL数据库密码的解决办法
  6. php 放大镜,图片放大镜效果实战总结
  7. threadlocal存连接对象的目的_终于懂了ThreadLocal,不再害怕面试官问了
  8. 怎么在pptv里下载电视剧
  9. 七台河计算机网络工程专业,网络工程本科专业介绍
  10. java服务端无法发送给客户端,无法从客户端向服务器发送消息