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),由于每次选择仅考虑某一位置上的数据情况,可能会破坏之前数据的相对位置,因此它是一种不稳定的排序方法。

相关文章:

  • 2021-08-21
  • 2021-12-02
  • 2022-12-23
  • 2022-12-23
  • 2021-05-17
  • 2021-05-26
  • 2022-12-23
  • 2021-11-05
猜你喜欢
  • 2022-12-23
  • 2022-02-28
  • 2021-05-20
  • 2021-06-19
  • 2021-08-12
  • 2021-05-16
  • 2021-09-15
相关资源
相似解决方案