1. 降序(数组元素由大到小)
// 选择排序
// 降序
public void selectSort(int[] nums) {
int len = nums.length;
for (int i = 0; i < len; i++) {
int max = nums[i];
int index = i;
for (int j = i + 1; j < len; j++) {
if (max < nums[j]) {
index = j;
max = nums[j];
}
}
int temp = nums[i];
nums[i] = nums[index];
nums[index] = temp;
}
}
2. 升序(数组元素由小到大)
public void selectSort(int[] nums) {
int len = nums.length;
for (int i = 0; i < len; i++) {
int min = nums[i];
int index = i;
for (int j = i + 1; j < len; j++) {
if (min > nums[j]) {
index = j;
min = nums[j];
}
}
int temp = nums[i];
nums[i] = nums[index];
nums[index] = temp;
}
}
3. 总结
选择排序:
① 第一次从待排序
的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置。
② 然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序
的序列的末尾。
③ 以此类推,直到全部待排序的数据元素的个数为零。
⭐选择排序是不稳定
的排序方法。