-
原理:第一次从待排序的数据元素中选出最小(或最大)的一个元素存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素然后放到已排序的序列的末尾。以此类推直到全部待排序的数据元素的个数为零。
-
以依次选出数组中最小元素的为例:
第一次:选出最小元素放在a[0]中
第二佽:选出最小元素放在a[1]中
第三次:选出最小元素放在a[2]中
第四次:选出最小元素放在a[3]中
第五次:选出最小元素放在a[4]中
-
由上述步骤可看出利用for循环的嵌套即可实现操作
1)数组长度为 6,共进行 5次选择最终完成排序,故外层循环控制语句的循环次数为 5(arr.length -1)
2)第一次选择 是a[0]与其怹元素比较
第二次选择 是a[1]与其他元素比较
第五次选择 是a[4]与其他元素比较
故,外层循环的初始值是从0开始到4结束。
4)由上述步骤看出内层循环的次数也是 4次
// 比较出较小的数,进行互换 // 遍历排序完成的数组