排序算法-选择排序

属性

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

        过程:在元素集合array[i]--array[n-1]中选择关键码最大(小)的数据元素 若它不是这组元素中的最后一个(第一个)元素,则将它与这组元素中的最后一个(第一个)元素交换 在剩余的array[i]--array[n-2](array[i+1]--array[n-1])集合中,重复上述步骤,直到集合剩余1个元素

        特性总结:

        1. 直接选择排序思考非常好理解,但是效率不是很好。实际中很少使用

        2. 时间复杂度:O(N^2)

        3. 空间复杂度:O(1)

        4. 稳定性:不稳定

代码及其注释

public class SelectSort {
    // 选择排序
    public static void selectSort(int[]arr){
        int length=arr.length;
        //本代码采用找剩余数据中最小值,再将最小值换到最前面的方法
        for(int i=0;i

你可能感兴趣的:(数据结构,排序算法,数据结构,算法)