package graph;
import java.util.Arrays;
/*
* 希尔排序(基于增量的插入排序)
*/
public class Main {
private static void swap(int[] arr,int i,int j){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
public static void main(String[] args) {
int[] arr ={9,6,7,8,4,5,2,3,1};
希尔排序(arr);
System.out.println(Arrays.toString(arr));
}
public static void 希尔排序(int[] arr) {
int length = arr.length;
int j;
for(int increment = length/2;increment>0;increment/=2){
//插入排序逻辑
for(int i=increment;i<length;i++){
int temp = arr[i];
for(j=i-increment;j>=0;j-=increment){
if(temp < arr[j]){
arr[j+increment] = arr[j];
}else{
break;
}
}
arr[j+increment] = temp;
}
}
}
}
java希尔排序
最新推荐文章于 2024-05-20 16:11:29 发布