package com.rao.linkList; import java.util.Arrays; /**
* @author Srao
* @className SelectSort
* @date 2019/12/4 11:27
* @package com.rao.linkList
* @Description 选择排序
*/
public class SelectSort {
/**
* 选择排序
* @param arr
*/
public static void selectSort(int[] arr){
for (int i = 0; i < arr.length-1; i++){
int min = i;
for (int j = i; j <= arr.length-1; j++){
if (arr[j] < arr[min]){
min = j;
}
}
int temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
} public static void main(String[] args) {
int[] arr = new int[]{3,6,2,5,9,1,0,8};
System.out.println(Arrays.toString(arr));
selectSort(arr);
System.out.println(Arrays.toString(arr)); }
}
首先,找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。
其次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。
以此类推。