package wu; import java.util.Arrays; public class Test4 { /** * @param args */ public static void main(String[] args) { // 产生100个随机数的数组,按照升序排列 int a[] = new int[100]; for(int i=0;i<100;i++) { a[i]=(int)(Math.random()*101); } // 利用希尔法排序 int j = 0; int temp = 0; // 分组 for(int increment = a.length / 2; increment > 0; increment /= 2) { // 每个组内排序 for (int i = increment; i < a.length; i++) { temp = a[i]; for (j = i; j >= increment; j -= increment) { if (temp < a[j - increment]) { a[j] = a[j - increment]; } else { break; } } a[j] = temp; } } // 输出的数组 for (int i2 : a) { System.out.println("i=" + i2); } } }