ShellSort

来源:互联网 发布:旅游市场数据 编辑:程序博客网 时间:2024/06/01 14:43
public class Main {    /** 希尔排序 */    private static void ShellSort(int[] list) {        int i, j;        int increment = list.length;        do {            increment = increment / 3 + 1;/* 增量 */            for (i = increment + 1; i < list.length; i++) {                if (list[i] < list[i - increment]) {                    list[0] = list[i];                    for (j = i - increment; j > 0; j -= increment) {//找出要插入的位置                        if (list[0] > list[j]) {                            break;                        }                        list[j + increment] = list[j];                    }                    list[j + increment] = list[0];//插值                }            }        } while (increment > 1);    }    public static void main(String[] args) {//        System.out.println("HelloWorld.");        int[] a = {0, 10, 32, 1, 9, 5, 7, 12, 0, 4, 3};        StringBuffer sb = new StringBuffer();        ShellSort(a);        for (int i = 0; i < a.length; i++) {            sb.append(a[i] + " ");        }        System.out.println(sb);    }}

0 0
原创粉丝点击