首先假设第一个索引处的数是最小的数,然后与后面的数进行比较,如果有比min更小的数,就放到第一个位置,循环结束后第一个位置一定是最小的数。接着对剩余的数进行排序,这样就可以把第二小的数放在第二个位置,以此类推就可以完成排序。
代码演示:
public static void Sort (int[] list){
//外层循环,一共需要确定4次最小值,所以一共需要循环list.length-1次
for (int i = 1; i < list.length; i++) {
//每次循环初始最小值,其索引等于(循环第几次的数目-1)即i-1
int min = list[i-1];
for (int j = i; j < list.length; j++) {
//内部循环:找到比min更小的数,就把这个数设成最小的数然后与此循环第一个数进行交换,即list[i-1]
if (min>list[j]){
min = list[j];
list[j] = list[i-1];
list[i-1] = min;
}
}
}
}
public static void main(String[] args) {
int[] arr = {4,6,5,8,1,3,9};
Sort(arr);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] +" ");
}
}
运行结果:
