选择排序

前言:

第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。

代码:

int[] arr = {3, 2, 4, 9, 1, 5, 7, 6, 8};

for (int i = 0; i < arr.length - 1; i++) {
    int  min = i;
    for (int j = i + 1; j < arr.length; j++) {
        if (arr[min] > arr[j]) {
            min = j;
        }
    }
    if (min != i) {
        int tmp = arr[min];
        arr[min] = arr[i];
        arr[i] = tmp;
    }
}


System.out.print(Arrays.toString(arr));

总结:

选择最小或最大的,依次排序。

时间复杂度:O(N2)

空间复杂度:O(1)


注意:本文归作者所有,未经作者允许,不得转载

发布了71 篇原创文章 · 获赞 0 · 访问量 4564
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览