package com.zx.practice;
import java.util.Arrays;
public class ShellSort {
public static void main(String[] args) {
int[] arr = {3,5,2,7,6,4,9,8};
shellSort(arr);
System.out.print(Arrays.toString(arr));
}
public static void shellSort(int[] arr ) {
for(int i = arr.length/2; i>=1; i /=2) {
for(int j = 0; j < arr.length-i; j++) {
int insertVal = arr[j+i];
int insertIndex = j;
while(insertIndex >= 0 && insertVal > arr[insertIndex]) {
arr[j+i] = arr[insertIndex];
insertIndex -= i;
}
arr[insertIndex + i] = insertVal;
}
}
}
}
輸出:[9, 8, 7, 6, 5, 3, 2, 4]·
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/118814.html
標籤:Java EE
下一篇:介面和抽象類的區別
