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();
}
}