所以我必须编写一个插入排序的代码,它将对随机整数数组进行排序,数组已经设置好并且工作正常,除了我的排序之外的所有内容都没有,以下是我所拥有的:
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;
}
}
在我看来,这应该有效,但不是,它会将数字从原始位置移开,但不会按升序排序。感谢您提供的任何帮助。
答案 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