1 排序原理
选择排序最符合大家对排序的原始想法,就是将待排序的数据中把最小的选出来,然后放入已经排好序的数据中,就这么简单
2 时间复杂度
O(n^2)
选择排序的想法最简单,但是其性能也是真的不高
3 代码实现
/**
* 选择排序算法
* @author xld
*
*/
public class SelectionSort {
public static void sort(
int [] arr){
for(
int i=
0;i<arr.length;i++){
int minIndex=i;
for(
int j=i+
1;j<arr.length;j++){
if(arr[j]<arr[minIndex])
minIndex=j;
}
if(minIndex!=i)
swap(arr,i,minIndex);
}
}
public static void swap(
int[] arr,
int a,
int b){
int temp = arr[a];
arr[a]=arr[b];
arr[b]=temp;
}
/**
* 测试
* @param args
*/
public static void main(String[] args) {
int[] arr = {
10,
9,
8,
7,
6,
5,
4,
3,
2,
1};
SelectionSort.sort(arr);
for(
int i =
0 ; i < arr.length ; i ++ ){
System.out.print(arr[i]);
System.out.print(
' ');
}
System.out.println();
}
}