Java-选择排序
2020-02-10 本文已影响0人
小和尚_58fd
每一次从待排序的数据元素中选出最大(或最小)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。
选择排序是不稳定的排序方法。
public class SelectSort {
public static void main(String[] args) {
int[] nums = {34, 4, 56, 17, 90, 65};
// 从小到大排序
int minIndex = 0; // 用于记录每次比较的最小值下标
// 控制轮数
for (int i=0; i < nums.length; i++) {
// 每轮假设一个最小值下标
minIndex = i;
// 每轮都要跟下一个去做比较
for (int j=i+1;j < nums.length; j++) {
if (nums[minIndex] > nums[j]) {
minIndex = j;
}
}
// 判断需要交换的下标是否为自己
if (minIndex != i) {
nums[minIndex] = nums[minIndex] + nums[i];
nums[i] = nums[minIndex] - nums[i];
nums[minIndex] = nums[minIndex] - nums[i];
}
}
// 打印
for (int x:nums) {
System.out.println(x);
}
}
}