一、简述
从前往后为基准,第一个是第一小,第二个是第二小,
二、解决思路
1.将第一个值看成最小值
2.将第一个值与后面的比较找出最小的值和它的下标
3.交换本次遍历的起始值和最小值
4.继续第二个开始重复这个操作
三、举例
6,5,3,2,4
2,5,3,6,4
2,3,5,6,4
2,3,4,6,5
2,3,4,5,6
四、代码思路
外循环多少次
内循环多少次
思考边界点
五、具体代码
class ChooseSortDemo {
public static void main(String[] args) {
int[] sorts=new int[]{6,5,3,2,4};
System.out.print("排序前数组:");
for (int i:sorts) {
System.out.print(i);
}
// 6,5,3,2,4
// 2,5,3,6,4
// 2,3,5,6,4
// 2,3,4,6,5
// 2,3,4,5,6
for (int i = 0; i < sorts.length-1; i++) {
int minIndex=i;
for (int j = i+1; j < sorts.length; j++) {
if(sorts[minIndex]>sorts[j]){//记录最小数的下标
minIndex=j;
}
}
//一轮结束,交换i和minIndex的数值
int temp=sorts[i];
sorts[i]=sorts[minIndex];
sorts[minIndex]=temp;
}
System.out.println("");
System.out.print("排序后数组:");
for (int i:sorts) {
System.out.print(i);
}
}
}
网友评论