现在给定一个整数数组,请用希尔排序算法对该数组进行排序。
a:待排非空整数数组
排序后的数组
a=[3,1,4,2]
[1,2,3,4]
import java.util.*; public class Main { public static void main(String[]args){ int[] a=new int[]{3,1,2,4,6,5}; int[] result=new Main().solution(a); System.out.println(Arrays.toString(result)); } public int[] solution(int[] a) { int gap,j,temp,len=a.length; gap=len/2; while(gap>0){ for(int i=gap;i<len;i++){ temp=a[i]; j=i-gap; while(j>=0&&a[j]>temp){ a[j+gap]=a[j]; j=j-gap; } a[j+gap]=temp; } gap=gap/2; } return a; } }