选择排序(java)

2023-12-25 06:41:12

选择排序

选择排序是默认前面都是已经排序好的,然后从后面 选择最小的放在前面排序好的的后面,首先第一轮循环的时候默认的排序好的为空,然后从后面选择最小的放到数组的第一个位置,第二轮循环的时候默认第个元素是已经 排序好的,然后从剩下的找出最小的放到数组的第二个位置,第三轮循环的时候默认前 两个都是已经排序好的,然后再从剩下的选择一个最小的放到数组的第三个位置,以此 类推。还是上面的序列,我们看一下选择排序是怎么做的:

动画演示 :

e8c243d5266747969938908d61b104e5.gif

    public static void SelectSort(int[] nums){
        int min;
        for (int i = 0;i < nums.length;i++){
            min = i;
            for (int j = i + 1;j < nums.length;j++){
                if (nums[i] > nums[j]){
                    min = j;
                }
            }
            if (i != min){
                int temp = nums[i];
                nums[i] = nums[min];
                nums[min] = temp;
            }
        }
    }

平均时间复杂度:O(n2)

空间复杂度:O(1)

稳定性:选择排序是不稳定算法

文章来源:https://blog.csdn.net/sytdsqzr/article/details/135185389
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。