最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java數(shù)據(jù)結(jié)構(gòu)之希爾排序

 更新時間:2017年11月09日 16:42:15   作者:阿木俠  
這篇文章主要為大家詳細介紹了java數(shù)據(jù)結(jié)構(gòu)之希爾排序的相關(guān)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下

希爾排序,也稱遞減增量排序算法,是插入排序的一種更高效的改進版本。希爾排序是非穩(wěn)定排序算法。

希爾排序是基于插入排序的以下兩點性質(zhì)而提出改進方法的:

        插入排序在對幾乎已經(jīng)排好序的數(shù)據(jù)操作時,效率高,即可以達到線性排序的效率;
        但插入排序一般來說是低效的,因為插入排序每次只能將數(shù)據(jù)移動一位。

實現(xiàn)

       先取一個正整數(shù)d1 < n, 把所有相隔d1的記錄放一組,每個組內(nèi)進行直接插入排序;然后d2 < d1,重復(fù)上述分組和排序操作;直至di = 1,即所有記錄放進一個組中排序為止。

簡單例子:

import java.util.Arrays;
public class Demo4 {
 public static void main(String[] args) {
 int old[] = { 2, 5, 3, 8, 6, 9, 4 };
 int i,j,temp; 
 int gap = 1; 
 int len = old.length; 
 while (gap < len / 3) { 
  gap = gap * 3 + 1; 
 } 
 for (; gap > 0; gap /= 3) { 
  for (i = gap; i < len; i++) { 
   temp = old[i]; 
   for (j = i - gap; j >= 0 && old[j] > temp; j -= gap) { 
    old[j + gap] = old[j]; 
   } 
   old[j + gap] = temp; 
  } 
 } 
 System.out.println("new:"+Arrays.toString(old)); 
 }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • springboot整合minio實現(xiàn)文件存儲功能

    springboot整合minio實現(xiàn)文件存儲功能

    MinIO?是一個基于Apache?License?v2.0開源協(xié)議的對象存儲服務(wù),它兼容亞馬遜S3云存儲服務(wù)接口,非常適合于存儲大容量非結(jié)構(gòu)化的數(shù)據(jù),本文給大家介紹了springboot整合minio實現(xiàn)文件存儲功能,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • Spring?MVC?URL地址映射的示例代碼

    Spring?MVC?URL地址映射的示例代碼

    @RequestMapping是一個用來處理請求地址映射的注解,可用于類或方法上。用于類上,表示類中的所有響應(yīng)請求的方法都是以該地址作為父路徑。,這篇文章主要介紹了Spring?MVC?URL地址映射,需要的朋友可以參考下
    2022-07-07
  • java二維碼生成的方法

    java二維碼生成的方法

    這篇文章主要為大家詳細介紹了java二維碼生成的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • SpringAop日志找不到方法的處理

    SpringAop日志找不到方法的處理

    這篇文章主要介紹了SpringAop日志找不到方法的處理方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • SpringCloud解決Feign異步回調(diào)問題(SpringBoot+Async+Future實現(xiàn))

    SpringCloud解決Feign異步回調(diào)問題(SpringBoot+Async+Future實現(xiàn))

    這篇文章主要介紹了SpringCloud解決Feign異步回調(diào)問題(SpringBoot+Async+Future實現(xiàn)),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • JAVA中的構(gòu)造函數(shù)(方法)

    JAVA中的構(gòu)造函數(shù)(方法)

    這篇文章主要介紹了JAVA中的構(gòu)造函數(shù)(方法),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 如何使用RabbitMQ實現(xiàn)異步秒殺

    如何使用RabbitMQ實現(xiàn)異步秒殺

    這篇文章主要介紹了如何使用RabbitMQ實現(xiàn)異步秒殺,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2025-04-04
  • SpringBoot的@ControllerAdvice處理全局異常詳解

    SpringBoot的@ControllerAdvice處理全局異常詳解

    這篇文章主要介紹了SpringBoot的@ControllerAdvice處理全局異常詳解,但有時卻往往會產(chǎn)生一些bug,這時候就破壞了返回數(shù)據(jù)的一致性,導(dǎo)致調(diào)用者無法解析,所以我們常常會定義一個全局的異常攔截器,需要的朋友可以參考下
    2024-01-01
  • MybatisPlus?QueryWrapper常用方法實例

    MybatisPlus?QueryWrapper常用方法實例

    MyBatis-Plus(opens new window)是一個MyBatis(opens new window)的增強工具,在 MyBatis的基礎(chǔ)上只做增強不做改變,為簡化開發(fā)、提高效率而生,下面這篇文章主要給大家介紹了關(guān)于MybatisPlus?QueryWrapper常用方法的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • 解決使用redisTemplate高并發(fā)下連接池滿的問題

    解決使用redisTemplate高并發(fā)下連接池滿的問題

    這篇文章主要介紹了解決使用redisTemplate高并發(fā)下連接池滿的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12

最新評論

黄平县| 广德县| 巨野县| 永昌县| 柳江县| 东乌珠穆沁旗| 上饶县| SHOW| 林甸县| 双江| 自治县| 建德市| 和平县| 前郭尔| 同江市| 新巴尔虎右旗| 政和县| 吴川市| 台前县| 上虞市| 衡阳县| 天长市| 闽清县| 涞水县| 阳曲县| 德州市| 惠水县| 云龙县| 神木县| 阿图什市| 哈尔滨市| 桐乡市| 蒙阴县| 宝丰县| 利津县| 宜良县| 通山县| 于田县| 翁牛特旗| 永和县| 舞钢市|