一、逻辑分析
二、代码逻辑
//选择排序(升序)
public static void selectSort(int a[]){
//外层循环:控制排序趟数
for (int i = 0; i < a.length-1; i++) {
//找最小数的位置
int minIndex=i;//存放最小数的位置,初始值为i【minIndex的值动态变化】
//用minIndex位置的数和j号位置的数进行比较,找实际最小数的位置
for(int j=i+1;j<a.length;j++){
if(a[j]<a[minIndex]){
minIndex=j;//记录位置,实际最小数的位置
}
}
//里层循环结束,才能找到最小数的位置,最小数的位置和当时假定的位置不一样,再进行交换
if(minIndex!=i){
int temp=a[minIndex];
a[minIndex]=a[i];
a[i]=temp;
}
}
}