选择排序

介绍

首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。

再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。

重复第二步,直到所有元素均排序完毕。

代码实现

/**
* @ClassName: SelectSort
* @Description:
* @Author: 10136
* @Date: 2021/5/6 22:40
**/
public class SelectSort {
public static void main(String[] args) {
int[] arr = {1,3,4,2,6,8,4,5,10};
selectSort(arr);
for(int i:arr){
System.out.println(i);
}
}

public static void selectSort(int[] arr) {
for (int i = 0; i < arr.length; i++) {
//记录用来对比的元素下标
int k = i;
//循环后面的元素
for (int j = i; j < arr.length; j++) {
//如果有比对比的元素小,记录下标,反之则是倒序
if (arr[j] < arr[k]) {
k = j;
}
}
//交换位置
int temp = arr[i];
arr[i] = arr[k];
arr[k] = temp;
}
}
}

输出结果:

1
2
3
4
4
5
6
8
10