希爾排序(Java基礎版

2021-09-19 08:51:08 字數 713 閱讀 5655

希爾排序是一種不穩定的排序方法,基本思想:

將包含n個元素的陣列,分成n/2個陣列序列,第乙個資料和第n/2+1個資料為一對...

將每對資料進行比較和交換,排好序

然後分成n/4個陣列序列,再次排序

不斷重複以上過程,直至整個陣列排序完成

package sortrank;

/** * 希爾排序:也稱縮小增量排序(當gap=1時,就是直接插入排序了)

* @author 18322

* */

public class shellsort ;

system.out.println("陣列排序前的順序:");

printarray(arr);

sort(arr);

system.out.println("陣列最終排序的順序:");

printarray(arr); }

private static void printarray(int arr)

system.out.println(); }

private static void sort(int arr)

}system.out.println("第" + count + "次數組排序的順序:");

printarray(arr);

gap = gap / 2;

count += 1;

} }}

Java 希爾排序

希爾排序示意圖 希爾排序,說實話有點難,不過還是弄出來了,package com.vgbh public class shellsorting 希爾排序 將無序陣列分割為若干個子串行,子串行不是逐段分割的,而是相隔特定的增量的子串行,對各個子串行進行插入排序 然後再選擇乙個更小的增量,再將陣列分割為...

希爾排序 Java

原理 對於n個待排序的數列,取乙個小於n的整數gap gap被稱為步長 將待排序元素分成若干個組子串行,所有距離為gap的倍數的記錄放在同乙個組中 然後,對各組內的元素進行直接插入排序。這一趟排序完成之後,每乙個組的元素都是有序的。然後減小gap的值,並重複執行上述的分組和排序。重複這樣的操作,當g...

java 希爾排序

希爾排序也成為 縮小增量排序 其基本原理是,現將待排序的陣列元素分成多個子串行,使得每個子串行的元素個數相對較少,然後對各個子串行分別進行直接插入排序,待整個待排序列 基本有序 後,最後在對所有元素進行一次直接插入排序。因此,我們要採用跳躍分割的策略 將相距某個 增量 的記錄組成乙個子串行,這樣才能...