public class xuanzepaixu {
public static void main(String[] args) {
int[] arr={101,34,119,1};
selectSort(arr);
System.out.println("排序后"+ Arrays.toString(arr));
}
//选择排序
//时间复杂度是n的平方
public static void selectSort(int[] arr) {
//使用逐步推导的方式来,讲解选择排序
//第1论
//原始的数组:101,34,119,1
//第一轮排序:1,34,119,101
for (int i = 0; i < arr.length; i++) {
int minIndex = i;
int min = arr[i];
for (int j = i + 1; j < arr.length; j++) {
//从大到小把这个>换成<
if (min > arr[j]) {
//说明假定的最小值,并不是最小
min = arr[j];//重置min
minIndex = j;//重置minIndex
}
}
//将最小值放在arr[0],把arr[0]交换
if(minIndex != i){
arr[minIndex] = arr[i];
arr[i] = min;
}
}
}
}
选择排序思考
最新推荐文章于 2025-12-23 21:53:39 发布
1539

被折叠的 条评论
为什么被折叠?



