import java.util.Arrays;
public class ShellShort {
public static void shellSort(int[] data) {
for (int shell = data.length / 2; shell > 0; shell /= 2) {
for (int i = shell; i < data.length; i++) {
for (int j = i; j >= shell; j -= shell) {// 为了避免越界,注意j>=shell的条件
if (data[j] >= data[j - shell])
break;
int temp = data[j];
data[j] = data[j - shell];
data[j - shell] = temp;
}
}
}
}
public static void main(String[] args) {
// 测试mergSort
// int[] data = { 5, 4, 3, 2, 1 };
// int[] data = { 2, 3, 1, 5, 4, 8, 6, 7, 3, 8, 9, 1 };
int[] data = { 2, 0, 1 };
shellSort(data);
System.out.println(Arrays.toString(data));
}
}
java实现希尔排序
最新推荐文章于 2024-05-10 09:36:12 发布