选择排序的基本思想:比较+交换
在待排序的一组数据中,选出最小(最大)的一个数与第一个位置的数交换,然后在剩下的数中,再找最小(最大)的数与第二个位置的数交换位置,
依次类推,直到第N-1个元素与第N个元素交换位置,选择排序结束。
package com.wedoctor.sort;
import java.util.Arrays;
public class XuanzeSort {
public void selectSort(int[] nums){
//判断数组为空或为一个元素的情况
if (null == nums || nums.length < 1){
return;
}
for (int i = 0; i < nums.length; i++) {
int minIndex = i;
for (int j = i; j < nums.length ; j ++){
if (nums[minIndex] > nums[j]){
minIndex = j;
}
int tmp = nums[minIndex];
nums[minIndex] = nums[i];
nums[i] = tmp;
}
}
System.out.println(Arrays.toString(nums));
}
public static void main(String[] args) {
XuanzeSort s = new XuanzeSort();
int[] arr = {4,6,9,2,5,12,56,21};
s.selectSort(arr);
}
}