欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

2個(gè)java希爾排序示例

 更新時(shí)間:2014年05月07日 09:23:01   作者:  
java希爾排序示例,希爾排序是插入排序的一種類(lèi)型,也可以用一個(gè)形象的叫法縮小增量法,需要的朋友可以參考下

java希爾排序

希爾排序是插入排序的一種類(lèi)型,也可以用一個(gè)形象的叫法縮小增量法?;舅枷刖褪前岩粋€(gè)數(shù)組分為好幾個(gè)數(shù)組,有點(diǎn)像分治法,不過(guò)這里的劃分是用一個(gè)常量d來(lái)控制。

這個(gè)0<d<n,n為數(shù)組的長(zhǎng)度。這個(gè)算法有了插入排序的速度,也可以算是一個(gè)改進(jìn)算法,在插入算法中,如果有一個(gè)最小的數(shù)在數(shù)組的最后面,用插入算法就會(huì)重最后一個(gè)

位置移動(dòng)到第一個(gè),這樣就會(huì)浪費(fèi)很大,使用這個(gè)改進(jìn)的希爾排序可以實(shí)現(xiàn)數(shù)據(jù)元素的大跨度的移動(dòng)。也就是這個(gè)算法的優(yōu)越之處。

復(fù)制代碼 代碼如下:

package cn.cqu.coce.xutao;

public class shell3 {
 public static void main(String args[]){
  int a[]={7,43,23,5,3,2,0,6,74,9};
  int n=a.length;
  for(int i=0;i<n;i++)
   System.out.print(a[i]+"\t");
  System.out.println();
     for(int gap=n/2;gap>0;gap/=2){
      for(int i=gap;i<n;i++){
       for(int j=i-gap;j>=0&&a[j]>a[j+gap];j-=gap){
        int temp=a[j+gap];
        a[j+gap]=a[j];
        a[j]=temp;
       }
      }
     }
  for(int i=0;i<n;i++)
   System.out.print(a[i]+"\t");
  System.out.println();
 }
}



第二個(gè)示例

復(fù)制代碼 代碼如下:

class Shell
{
    public void shell_sort(int [] arrays){
        for(int d=5;d>0;d=d-2){
            for(int c=0;c<arrays.length-d;c++){
                for(int i=c;i<arrays.length;i=i+d){
                    for(int j=i;j>0;j=j-d){
                        if(j<d)
                            break;
                        if(arrays[j]<arrays[j-d]){
                            int tmp;
                            tmp=arrays[j];
                            arrays[j]=arrays[j-d];
                            arrays[j-d]=tmp;

                        }
                    }
                }

            }
            snp(arrays);
        }

    }
    public void snp(int[] arrays){
        for(int i=0;i<arrays.length;i++){
            System.out.print(arrays[i]+" ");

        }
        System.out.println();
    }
    public static void main(String[] args)
    {
        Shell s=new Shell();
        int[] a={45,20,80,40,26,58,66,70};
        s.shell_sort(a);

    }
}

運(yùn)行結(jié)果:

復(fù)制代碼 代碼如下:

---------- java ----------
20 70 40 26 58 66 80
20 58 45 26 70 66 80
26 40 45 58 66 70 80

輸出完成 (耗時(shí) 0 秒) - 正常終止

相關(guān)文章

  • java  Super 用法詳解及實(shí)例代碼

    java Super 用法詳解及實(shí)例代碼

    這篇文章主要介紹了java Super 用法詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • 深入淺析java中flyway使用簡(jiǎn)介

    深入淺析java中flyway使用簡(jiǎn)介

    Flyway是獨(dú)立于數(shù)據(jù)庫(kù)的應(yīng)用、管理并跟蹤數(shù)據(jù)庫(kù)變更的數(shù)據(jù)庫(kù)版本管理工具。這篇文章主要介紹了flyway使用簡(jiǎn)介,需要的朋友可以參考下
    2020-07-07
  • Eclipse遠(yuǎn)程debug的步驟與注意事項(xiàng)

    Eclipse遠(yuǎn)程debug的步驟與注意事項(xiàng)

    今天小編就為大家分享一篇關(guān)于Eclipse遠(yuǎn)程debug的步驟與注意事項(xiàng),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • Java  Option用法詳解

    Java  Option用法詳解

    Optional類(lèi)是Java8為了解決null值判斷問(wèn)題,借鑒google guava類(lèi)庫(kù)的Optional類(lèi)而引入的一個(gè)同名Optional類(lèi),使用Optional類(lèi)可以避免顯式的null值判斷,避免null導(dǎo)致的NPE,下面以一些典型場(chǎng)景為例,列出Optional API常用接口的用法,并附上相應(yīng)代碼,感興趣的朋友一起看看吧
    2024-01-01
  • Java排列組合字符串的方法

    Java排列組合字符串的方法

    這篇文章主要介紹了Java排列組合字符串的方法
    2018-02-02
  • Java Structs框架原理案例詳解

    Java Structs框架原理案例詳解

    這篇文章主要介紹了Java Structs框架原理案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • java如何通過(guò)流讀取圖片做base64編碼

    java如何通過(guò)流讀取圖片做base64編碼

    這篇文章主要介紹了java如何通過(guò)流讀取圖片做base64編碼問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Java POI讀取excel中數(shù)值精度損失問(wèn)題解決

    Java POI讀取excel中數(shù)值精度損失問(wèn)題解決

    這篇文章主要介紹了Java POI讀取excel中數(shù)值精度損失問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Java進(jìn)階教程之運(yùn)行時(shí)類(lèi)型識(shí)別RTTI機(jī)制

    Java進(jìn)階教程之運(yùn)行時(shí)類(lèi)型識(shí)別RTTI機(jī)制

    這篇文章主要介紹了Java進(jìn)階教程之運(yùn)行時(shí)類(lèi)型識(shí)別RTTI機(jī)制,在Java運(yùn)行時(shí),RTTI維護(hù)類(lèi)的相關(guān)信息,比如多態(tài)(polymorphism)就是基于RTTI實(shí)現(xiàn)的,需要的朋友可以參考下
    2014-09-09
  • Tomcat安裝配置及Eclipse配置詳解

    Tomcat安裝配置及Eclipse配置詳解

    給大家介紹一下Tomcat安裝配置及Eclipse配置的全部圖文過(guò)程,如果你對(duì)這個(gè)還有不明白,一起跟著小編學(xué)習(xí)下。
    2017-11-11

最新評(píng)論