插入排序数组java

时间:2014-05-01 23:48:20

标签: java sorting insertion-sort

所以我必须编写一个插入排序的代码,它将对随机整数数组进行排序,数组已经设置好并且工作正常,除了我的排序之外的所有内容都没有,以下是我所拥有的:

 for(int i =1; i< numberSort.length-1;i++){
        int temp = numberSort[i];
        int j = i-1;
        while((j >= 0) && (numberSort[j]>temp)){
            numberSort[j+1] = numberSort[j];
            j = j-1;
        }
        numberSort[j+1] = temp;          
    }
}

在我看来,这应该有效,但不是,它会将数字从原始位置移开,但不会按升序排序。感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

此代码适用于我:

public static void main(String[] args) {
    int[] numberSort = {22,7,2, 5, 7, 1, 2, 9,33,55,12,1,0};
        for (int i = 1; i < numberSort.length; i++) {
            int temp = numberSort[i];
            int j = i - 1;
            while ((j >= 0) && (numberSort[j] > temp)) {
                numberSort[j + 1] = numberSort[j];
                j = j - 1;
            }
            numberSort[j + 1] = temp;
        }
        for (int i = 0; i < numberSort.length; i++) {
            System.out.println(numberSort[i]);
        }
    }

提供输出:

0
1
1
2
2
5
7
7
9
12
22
33
55