public static long shellSort(int[] array) {
		long t1 = new Date().getTime();
		int len = array.length;
		int step = 2;
		for (int gap = len / 2; gap > 0; gap /= step) {
			// ÿнֱӲ
			for (int i = gap; i < len; i++) {
				for (int j = i - gap; j >= 0 && array[j] > array[j + gap]; j -= gap) {
					swap(array, j, j + gap);
				}
			}
			printArray(array);
		}
		long t2 = new Date().getTime();
		return t2 - t1;
	}