int arr[] = {1, 6, 3, 2, 9, 7, 4};
//
for (int i = 0; i < arr.length; i++) { //第一个索引比较完毕,可以理解已经循环了一圈了
for (int j = i + 1; j < arr.length; j++) { //现在已经换位置了,这里可以理解成每次做的比较
if (arr[i] > arr[j]) {
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
这是打印出来的结果
选择排序,可以理解为选择一个较大(较小)的数字,依次和后面的做比较,在我理解看来第一层for循环代表循环几次,第二层for循环才是真正做比较的,当然两层循环必不可少,