<返回更多

一起学排序算法——选择排序

2022-01-04    晓掌柜丶韶华
加入收藏

一、什么是选择排序

1.1、文字描述

选择排序是一种简单直观的排序方式,它的工作原理是每一次排序时先从待处理数据元素中选择出一个最大(或最小)的元素,并存放在序列的末尾(起始)位置,每进行一次排序后其操作元素就减少1,直到所有的数据元素都排序完成。

1.2、程序描述

定义一组数据元素,第一次排序时,假定第一个元素是最大值 max,然后遍历数组元素,找出最大值和最后一个元素进行交换。第二次排序时还是假设第一个是最大元素并和剩下的元素进行比较,找到最大的元素并放到倒数第二个的位置,一直循环下去直到排序完成。

一起学排序算法——选择排序

 

二、代码示例


     public static void main(String[] args) {
        
        int[] ints = {-24,-15,2,1,3,5,7,6,10,8,9,11,12,13};
        /* 定义需要操作的数据长度 */
        int handleLength = ints.length;
        int handleIndex = 0;
        /* 默认第一个是最大数据 */
        int max = ints[0];
        /* 当需操作数据长度为1时就不需要操作了 */
        while (handleLength > 1) {
            for (int j = 0; j < handleLength; j++) {
                if (ints[j] > max) {
                    /* 拿到最大值的下标和数值 */
                    handleIndex = j;
                    max = ints[j];
                }
                /* 最后一次操作的时候进行数据转换操作 */
                if (j == (handleLength - 1)) {
                    ints[handleIndex] = ints[handleLength - 1];
                    ints[handleLength - 1] = max;
                    max = ints[0];
                    handleLength--;
                }
            }
            System.out.println(CollectionUtils.arrayToList(ints));
        }

    }

JAVA

Copy

输出如下:

一起学排序算法——选择排序

 

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>