日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2025/3/12 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 堆排序方式_幾種排序方式的java實現(02:希爾排序,歸並排序,堆排序) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

/** 希爾排序:先取一個小於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:希爾排序,歸並排序,堆排序)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。