排序算法之选择排序的思想以及Java实现

时间:2023-04-10 17:22:24

1 基本思想

选择排序的思想是,每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。

2,算法的实现(Java)

package Algorithm;

public class SelectSort {

    /**
* @param args
*/
public static void main(String[] args) {
int[] data = new int[] {11,10,55,78,100,111,45,56,79,90,345,1000};
System.out.println("排序之前:");
out_put.output(data);
System.out.println();
System.out.println("排序之后:");
SelectSort.select_sort(data);
out_put.output(data);
} public static void select_sort(int[] arr){
if(arr == null || arr.length < 2){
return;
}
int index;//定义下标
for(int i=0;i<arr.length;i++){
index = i;//初始下标为i
for(int j=i+1;j<arr.length;j++){
if(arr[j]<arr[index]){
index = j;
}
}
if(index != i){
int temp = arr[index];
arr[index] = arr[i];
arr[i] = temp;
}
}
}
}

得到的结果为:

排序算法之选择排序的思想以及Java实现

3 性能分析

选择排序的时间复杂度为O(n^2),由于每次选择仅考虑某一位置上的数据情况,可能会破坏之前数据的相对位置,因此它是一种不稳定的排序方法。