java 第二周

2021-01-22 10:13

阅读:779

// 对一个数组进行希尔排序。
public class One
{

public static void main(String[] args)
{
/*希尔排序的原理是先将要排序的数组元素分成多个子序列,
使得每个子序列的元素个数相对较少,
然后对各个子序列进行直接插入排序,
等到整个待排序列基本上有了顺序后,
最后在对所有的元素进行一次直接插入排序。*/
int i = 0;
int a[] = {2,3,4,63,67,8,42,45};
int len = a.length;
shellSort(a);
for (i = 0; i System.out.print(a[i] + " ");
}
}

private static void shellSort(int[] a)
{
int length = a.length;
int i, j;
int h;
int temp;
for (h = length / 2; h > 0; h = h / 2) {
for(i = h; i temp = a[i];
for(j = i - h; j >= 0; j -= h) {
if(temp a[j+h] = a[j];
}
else
break;
}
a[j+h] = temp;
}
}
}


评论


亲,登录后才可以留言!