亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java 算法之希爾排序詳解及實(shí)現(xiàn)代碼

 更新時(shí)間:2017年03月01日 16:04:22   投稿:lqh  
這篇文章主要介紹了java 算法之希爾排序詳解及實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下

java 算法之希爾排序

一、思想

希爾排序:使數(shù)組中任意間隔為h的元素都是有序的。在進(jìn)行排序的時(shí)候,如果h很大,我們就能將元素移動(dòng)到很遠(yuǎn)的地方,為實(shí)現(xiàn)更小的h有序創(chuàng)造方便。用這種方式,對(duì)任意以1結(jié)尾的h序列,我們都能夠?qū)?shù)據(jù)排序; 

 二、概念

h有序數(shù)組:任意間隔為h的元素都是有序的數(shù)組; 

三、高效原因

對(duì)于大規(guī)模亂序數(shù)組插入排序很慢,因?yàn)樗粫?huì)交換相鄰的元素,因此元素只能一點(diǎn)一點(diǎn)地從數(shù)組的一端移動(dòng)到另一段;

  希爾排序更高效的原因:它權(quán)衡了子數(shù)組的規(guī)模和有序性,在排序之初,各個(gè)子數(shù)組都很短;在排序之后子數(shù)組都是部分有序的,這兩種情況很適合插入排序;  

四、代碼

/** 
 * 希爾排序 
 *  
 * @author pengcx 
 *  
 */  
public class Shell extends Sort {  
  public static void main(String[] args) {  
    String[] a = { "d", "a", "w", "b", "q" };  
    Shell.sort(a);  
    show(a);  
  }  
  
  /** 
  * 排序數(shù)組a 
  *  
  * @param a 
  *      排序的數(shù)組a 
  */  
  protected static void sort(Comparable[] a) {  
    int N = a.length;  
    int h = 1;  
    while (h < N / 3) {  
      h = 3 * h + 1;  
    }  
  
    while (h >= 1) {  
      for (int i = 0; i < N; i++) {  
        for (int j = i; j >= h && less(a[j], a[j - h]); j -= h) {  
          exch(a, j, j - h);  
        }  
      }  
      h = h / 3;  
    }  
  }  
}  

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Java基礎(chǔ)-封裝和繼承

    Java基礎(chǔ)-封裝和繼承

    這篇文章主要介紹了Java面向?qū)ο缶幊蹋ǚ庋b/繼承/多態(tài))實(shí)例解析的相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下希望可以幫助到你
    2021-07-07
  • Java創(chuàng)建數(shù)組的幾種方式總結(jié)

    Java創(chuàng)建數(shù)組的幾種方式總結(jié)

    下面小編就為大家?guī)?lái)一篇Java創(chuàng)建數(shù)組的幾種方式總結(jié)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-10-10
  • Java CRM系統(tǒng)用戶登錄功能實(shí)現(xiàn)代碼實(shí)例

    Java CRM系統(tǒng)用戶登錄功能實(shí)現(xiàn)代碼實(shí)例

    這篇文章主要介紹了Java CRM系統(tǒng)用戶登錄功能實(shí)現(xiàn)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Java服務(wù)調(diào)用RestTemplate與HttpClient的使用詳解

    Java服務(wù)調(diào)用RestTemplate與HttpClient的使用詳解

    無(wú)論是微服務(wù)還是SOA,都面臨著服務(wù)間的遠(yuǎn)程調(diào)用,這篇文章主要介紹了服務(wù)調(diào)用RestTemplate與HttpClient的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • IDEA 2020 本土化,真的是全中文了(真香)

    IDEA 2020 本土化,真的是全中文了(真香)

    去年,JetBrains 網(wǎng)站進(jìn)行了本地化,提供了 8 種不同的語(yǔ)言版本,而現(xiàn)在,團(tuán)隊(duì)正在對(duì)基于 IntelliJ 的 IDE 進(jìn)行本地化
    2020-12-12
  • java多線程編程實(shí)現(xiàn)下雪效果

    java多線程編程實(shí)現(xiàn)下雪效果

    這篇文章主要介紹了java多線程編程實(shí)現(xiàn)下雪效果的相關(guān)資料,需要的朋友可以參考下
    2015-11-11
  • java 字符串詞頻統(tǒng)計(jì)實(shí)例代碼

    java 字符串詞頻統(tǒng)計(jì)實(shí)例代碼

    java 字符串詞頻統(tǒng)計(jì)實(shí)例代碼,需要的朋友可以參考一下
    2013-03-03
  • Java圖形化界面編程介紹

    Java圖形化界面編程介紹

    這篇文章主要介紹了Java圖形化界面編程,形化界面編程可以直接的看到每一步操作帶來(lái)的效果,相對(duì)于傳統(tǒng)編程盯著黑框框?qū)W起來(lái)是非常非常有意思的,想了解更多的小伙伴請(qǐng)參考下面文章的詳細(xì)內(nèi)容
    2022-01-01
  • Java多線Condition條件變量正確使用方法詳解

    Java多線Condition條件變量正確使用方法詳解

    這篇文章主要為大家,介紹了Java多線Condition條件變量正確使用方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Spring中事務(wù)傳播行為的介紹

    Spring中事務(wù)傳播行為的介紹

    今天小編就為大家分享一篇關(guān)于Spring中事務(wù)傳播行為的介紹,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01

最新評(píng)論