public class shellSort { public static void main(String[] args) { int [] arr={-3,4,2,6,1,5,3,8,7,9,-1}; Sort(arr); System.out.println(Arrays.toString(arr)); } public static void Sort(int[] a){ //减少增量 for (int d=a.length/2;d>0;d/=2){ //遍历 for (int i=0;i<a.length;i++){ //对分的每组进行插入排序 for (int j=i+d;j<a.length;j+=d){ int temp=a[j]; int k; for (k=j-d;k>0&&a[k]>temp;k=k-d) { a[k + d] = a[k]; } a[k+d]=temp; } } //增量为1执行完之后退出 if(d==1){ break; } } } }
排序--希尔排序
最新推荐文章于 2024-06-02 22:39:52 发布