算法系列-排序算法-选择排序(JAVA版)

  1. 简介
    1. 排序算法JAVA实现
    2. 源码地址

简介

记录自己的学习的算法

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零

排序算法JAVA实现

代码如下

    public int[] doSort(int[] array) {
        //数组长度,选择次数
        int size = array.length;
        //开始选择
        for (int i = 0; i < size; i++) {
            //从未排序元素第一个开始,i = 0 时整个数组都是未排序元素
            int tmpIndex = i;
            for (int j = i; j < size; j++) {
                //对比选出最小值索引
                if (array[j] < array[tmpIndex]) {
                    tmpIndex = j;
                }
            }
            //新的最小值
            int tmp = array[tmpIndex];
            //最小值放到已排序的序列的末尾
            array[tmpIndex] = array[i];
            array[i] = tmp;
            //打印一下过程与算法无关
            List<Integer> list = new ArrayList<>();
            for (int i1 : array) {
                list.add(i1);
            }
            System.out.println(list.subList(0, i + 1).toString() + " " + list.subList(i + 1, list.size()).toString());
        }
        return array;
    }

输出结果

未排序 [9, 6, 0, 2, 3]
[0] [6, 9, 2, 3]
[0, 2] [9, 6, 3]
[0, 2, 3] [6, 9]
[0, 2, 3, 6] [9]
[0, 2, 3, 6, 9] []
已排序 [0, 2, 3, 6, 9]

源码地址

https://github.com/RockeyCui/learn-normal


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 rockeycui@163.com

文章标题:算法系列-排序算法-选择排序(JAVA版)

文章字数:352

本文作者:崔石磊(RockeyCui)

发布时间:2018-08-24, 20:00:00

原始链接:https://cuishilei.com/算法系列-排序算法-选择排序-JAVA.html

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏