选择排序(SelectionSort )

时间:2020-07-20 00:00:31   收藏:0   阅读:96

1.1概述

?表现最稳定的排序算法之一,因为无论什么数据进去都是O(n2)的时间复杂度,所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了。

1.2描述

1.3代码

package SelectionSort;

public class SelectionSort {
    public static void main(String[] args) {
        int[] arr = new int[]{1,2,5,7,9,4,6,3,2,8};
        SelectionSort.selectionSort(arr);
        for(int x : arr){
            System.out.println(x);
        }

    }
    public static void selectionSort(int[] ins){
        int n = ins.length;//经过n-1次提取最小最大值

        for(int i=0; i<n-1; i++){//控制选择的次数
            int min_index = i;

            for(int j=i+1; j<n; j++){
                if(ins[j]<ins[min_index]){
                    min_index = j;
                }
            }
            if(min_index != i){
                int temp = ins[i];
                ins[i] = ins[min_index];
                ins[min_index] = temp;
            }
        }
        return ;
    }
}

1.4分析

T(n) = O(n2)

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!