一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 總結Java常用排序算法

總結Java常用排序算法

2021-07-17 15:08Java教程網 Java教程

在本文里我們給大家整理了關于Java常用排序算法以及實例代碼分析,需要的朋友們跟著學習下。

排序算法常用的有冒泡排序,選擇排序和插入排序,下面將用java語言實現這三種排序方式,并且介紹一種由插入排序拓展出來的希爾排序。

1、冒泡排序(bubblesort)是一種最簡單的排序算法。它的基本思想是迭代地對輸入序列的第一個元素到最后一個元素進行倆倆比較,當滿足條件時交換這倆個元素的位置,該過程持續到不需要執行上述過程的條件時。

總結Java常用排序算法

2、我們自定義一個排序的函數為sorter(int[]array);

?
1
private static void sorter(int[] array)     for(int i=0;i<array.length-1;i++) {      for(int j=0;j<array.length-i-1;j++) {        if(array[j]>array[j+1]) {          int temp = array[j];          array[j] = array[j+1];          array[j+1] = temp;        }      }    }  }

 

完整代碼如下圖:

總結Java常用排序算法

3、運行結果如下:

總結Java常用排序算法

1、選擇排序

選擇排序(selectsort)是一種原地(in-place)排序算法,適用于小文件。選擇排序是基于鍵值并且交換是發生在需要交換時才執行,所以選擇排序常用于數值較大和鍵值較小文件。

總結Java常用排序算法

2、

?
1
private static void sorter(int[] array)     for(int i=0;i<array.length-1;i++) {      int index = i;      for(int j=index;j<array.length-1;j++) {        if(array[index]>array[j+1]) {          index = j+1;        }      }      int temp = array[index];      array[index] = array[i];      array[i] = temp;    }  }

  

總結Java常用排序算法

3、運行結果

總結Java常用排序算法

1、插入排序

插入排序(insertionsort)是一種簡單且有效的比較排序算法,在每次迭代過程中算法隨機的從輸入序列中移除一個元素,并將該元素插入到排序序列中正確的位置,重復該過程,知道所有元素都被選擇一次。

總結Java常用排序算法

 

2、

 

?
1
private static void sorter(int[] array)     for(int i=1;i<array.length;i++) {      int temp = array[i];      int j = i;      while(j>0&&temp<array[j-1]) {        array[j] = array[j-1];        j--;      }      array[j] = temp;    }  }

總結Java常用排序算法

3、運行結果

總結Java常用排序算法

1、希爾排序

希爾排序(shellsort)又稱縮小增量排序,該算法是一個泛化的插入排序。

總結Java常用排序算法

2、

?
1
public static void sorter(int[]array) {    for(int gap=array.length/2;gap>0;gap/=2) {      for(int i=gap;i<array.length;i++) {        int temp = array[i];        int j = i;        if(array[j]<array[j-1]) {          while(j-gap>=0&&temp<array[j-gap]) {            array[j] = array[j-gap];            j-=gap;          }          array[j] = temp;        }      }    }  }

 

總結Java常用排序算法

3、運行結果

總結Java常用排序算法

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 女生被草 | 亚洲网站在线播放 | 99视频精品全部免费观看 | 免费理伦片手机在线播放 | 男生同性视频twink在线 | 校园全肉高h湿一女多男 | 日产中文乱码卡一卡二 | 精品免费久久久久久成人影院 | 交换性关系中文字幕6 | 国产特黄一级一片免费 | 幻女free性俄罗斯第一次摘花 | 免费精品一区二区三区在线观看 | 久久精选视频 | 99re7在线精品免费视频 | 国产成人精品免费视频大全五级 | 四虎4hu永久免费 | 男人边吃奶边做好爽视频免费 | 青青热久免费精品视频精品 | 99福利在线观看 | 398av影院视频在线 | 456成人免费高清视频 | 91香蕉依人综合久久 | 男插女的下面免费视频夜色 | np高h疯狂黄暴宫口 narutomanga玖辛奈之乳 | 91热爆| 99精品国产高清一区二区三区香蕉 | 香港三级系列在线播放 | 欧洲网色偷偷亚洲男人的天堂 | 亚洲aⅴ天堂 | 国产精品理论片 | 青草热久精品视频在线观看 | 成年人视频在线 | 91久久线看在观草草青青 | 手机在线观看网站免费视频 | 久9视频这里只有精品123 | 久久中文骚妇内射 | 叛佛 作者满栀小说免费阅读 | 欧美一区二区三区精品国产 | 三叶草私人研究所 | 99久久免费看精品国产一区 | 天若有情1992国语版完整版 |