排序算法(5)选择排序

一.基本思想

初始时从队列中选出最大(小)的元素放到序列的起始位置,再从剩余的序列中选出最大(小)的元素放在已排序列的末尾,以此类推,直到所有元素均排序完毕

二.概览

分类:内部选择排序

数据结构:数组

最差时间复杂度:O(n^2)

最优时间复杂度:O(n^2)

平均时间复杂度:O(n^2)

所需辅助空间:O(1)

稳定性:不稳定


三.代码实现

public class Selection{
    public static void sort(int a[]){
        int N = a.length;
        for(int i=0;i<N;i++){
            int min = i;
            for(int j=i+1;j<N;j++){
                if(a[j]<a[min])min=j;
            }
            int t = a[min];
            a[min] = a[i];
            a[i] = t;
        }
    }
}


猜你喜欢

转载自blog.csdn.net/qq_34645958/article/details/80732778