终于觉得自己写了完美的代码,结果一运行排序不对,debug了好几次
public class HelloWorld {
public static void main(String[] args) {
int[] a = new int[5];
System.out.println("原始排序为:");
for (int i = 0; i < a.length; i++){
a[i] = (int) (Math.random()*100);
System.out.print(a[i] + " ");
}
System.out.println("");
for (int i = 1; i < a.length; i++){
for (int j = i - 1; j < a.length; j++){
if (a[i-1] > a[j]){
int b = a[i-1];
a[i-1] = a[j];
a[j] = b;
}
}
}
for (int i = 0; i < a.length; i++){
System.out.print(a[i] + " ");
}
}
}
结果才发现数组的第一位是a[0]
public class HelloWorld {
public static void main(String[] args) {
int[] a = new int[5];
System.out.println("原始排序为:");
for (int i = 0; i < a.length; i++){
a[i] = (int) (Math.random()*100);
System.out.print(a[i] + " ");
}
System.out.println("");
for (int i = 1; i < a.length; i++){
for (int j = i ; j < a.length; j++){
if (a[i-1] > a[j]){
int b = a[i-1];
a[i-1] = a[j];
a[j] = b;
}
}
}
for (int i = 0; i < a.length; i++){
System.out.print(a[i] + " ");
}
}
}



