AcWing 5332. 选择排序-Java版优化
原题链接
简单
作者:
YMY-up
,
2024-12-04 15:51:50
,
所有人可见
,
阅读 2
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
// 数组初始化
int length = sc.nextInt();
int[] nums = new int[length];
for (int i = 0; i < length; i++) {
nums[i] = sc.nextInt();
}
// 选择排序
selectionSort(nums);
// 打印数组
for (int num : nums) {
System.out.print(num + " ");
}
}
// 选择排序
public static void selectionSort(int[] nums){
// 外层循环次数
int len = nums.length;
for (int i = 0; i < len; i++) {
int minIndex = i; // 最小元素索引
for (int j = i + 1; j < len; j++) {
if (nums[j] < nums[minIndex]) {
minIndex = j; // 更换最小元素
}
}
// 元素顺序错误,交换元素
if (nums[minIndex] != nums[i]) {
int temp = nums[i];
nums[i] = nums[minIndex];
nums[minIndex] = temp;
}
}
}
}