原理:选择排序就是每次从当前元素的后面选择一个最小的元素和当前元素进行交换。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/223a3e5f4e62fac9424d9bf6a527b7f4.gif#pic_center)
时间复杂度:O(n^2)
代码:
public class SelectSort {
public static void main(String[] args){
int[] arr = new int[30];
for(int i=0;i<arr.length;i++){
arr[i]=(int)(Math.random()*30);
}
System.out.println("排序前:"+ Arrays.toString(arr));
selectSort(arr);
System.out.println("排序后:"+Arrays.toString(arr));
}
public static void selectSort(int[] arr){
for (int i = 0; i < arr.length - 1; i++) {
int min = i;
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[min]) {
min = j;
}
}
if (i != min) {
int tmp = arr[i];
arr[i] = arr[min];
arr[min] = tmp;
}
}
}
}