*基本思想
第一次从n个元素中选最小的放在下标为0的位置,第二次从n-1个元素中选取最小的放在小标为1的位置,依次类推
*排序特征
排序类别:选择排序
时间复杂度:O(n²)
空间复杂度:O(1)
稳定性:不稳定
*适用场景
由于其时间复杂度大,且不稳定,生产环境不推荐使用此算法
*代码实现
public static void selectSort(int[] arr) {
int n = arr.length;
int i,j,m,t;
for(i=0;i<n-1;i++) {//循环数组,每趟结束后都将最小值存到i的位置
m = i; //m记录最小值下标
for(j=i+1; j<n; j++) {
if(arr[j] < arr[m]) m = j;
if(m != i) { //若最小值下标m和趟数i不相等,则交换得到每趟最小值
t = arr[i];
arr[i] = arr[m];
arr[m] = t;
}
}
}
}