活动地址:CSDN21天学习挑战赛
代码示例
package tenSort;
/*
* 选择排序
* 思路:找最小元素,放到最终位置
* 特点:时间:O(n²)、非稳定排序
* 适用:数据量少
*/
public class Select {
private static void sort(int[] nums) {
int n = nums.length;
for (int i = 0; i < n - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < n; j++) { // j从i+1开始找最值
if (nums[j] < nums[minIndex]) { // 更新最值位置
minIndex = j;
}
}
// 交换,把最值放到正确位置
int temp = nums[i];
nums[i] = nums[minIndex];
nums[minIndex] = temp;
}
}
// 测试代码
public static void main(String[] args) {
int[] nums = new int[]{1, 3, 7, 8, 2, 9, 6, 0, 5, 4};
sort(nums);
for (int num : nums)
System.out.print(num + " ");
}
}