java实现希尔排序算法
程序员文章站
2024-02-23 09:56:10
...
前面我们详细讲解了希尔排序算法,现在我们直接上代码
package ttt;
public class ShellSort {
public static int[] shellSort(int[] theArray) {
int d_value = theArray.length/2;
while (d_value > 0) {
for(int i = 0; i < theArray.length; i++) {
int j = i;
while ((j-d_value >= 0) && (theArray[j] < theArray[j-d_value])) {
int temp = theArray[j - d_value];
theArray[j - d_value] = theArray[j];
theArray[j] = temp;
j -= d_value;
}
}
d_value /= 2;
}
return theArray;
}
public static void main(String[] args) {
int []the_array = {10,1,18,30,23,12,7,5,18,17};
System.out.print("之前的排序:");
for(int i = 0; i < the_array.length; i++) {
System.out.print(the_array[i] + " ");
}
int []result_array = shellSort(the_array);
System.out.print("希尔排序:");
for(int i = 0; i < result_array.length; i++) {
System.out.print(result_array[i] + " ");
}
}
}
我们运行一下,看下结果
之前的排序:10 1 18 30 23 12 7 5 18 17 希尔排序:1 5 7 10 12 17 18 18 23 30
符合预期
上一篇: java实现希尔排序算法