1、概念
直接选择排序(Straight Select Sorting) 也是一种简单的排序方法,它的基本思想是:第一次从R[0]-R[n-1]中选取最小值,与R[0]交换,第二次从R[1]-R[n-1]中选取最小值,与R[1]交换,…,第i次从R[i-1]-R[n-1]中选取最小值,与R[i-1]交换,…,第n-1次从R[n-2]~R[n-1]中选取最小值,与R[n-2]交换,总共通过n-1次,得到一个按排序码从小到大排列的有序序列。
2、代码实现
public class SelectSort {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr = {4,2,1,8,3};
/*
* 第一轮:1,2,4,8,3
* 第二轮:1,2,4,8,3
* 第三轮:1,2,3,8,4
* 第四轮:1,2,3,4,8
*/
for(int i=0;i<arr.length-1;++i){
int min = arr[i];
int index = i;
for(int j=i+1;j<arr.length;++j){
if(min > arr[j]){
min = arr[j];
index = j;
}
}
if(index != i){
int temp = arr[i];
arr[i] = arr[index];
arr[index] = temp;
}
}
//输出
for(int i=0;i<arr.length;++i){
System.out.print(arr[i]+" ");
}
}
}
3、运行结果