zoukankan      html  css  js  c++  java
  • 【数据结构与算法】—— 选择排序

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

    介绍

    上面介绍过了,不再做介绍了

    排序思路

    • 从头或者尾开始
    • 第一个元素依次比较其后的每一个元素,比较完之后。第二个元素依次比较其后的每一个元素,以此类推
    • 直到最后

    选择分析

    选择排序.png

    代码实现

        public static void selectSort(int[] data){
            int length = data.length;
            for (int i = 0; i < length - 1; i++) {
                boolean flag = false ;
                for (int j = i+1 ; j < length ; j ++){
                    if (data[i] > data[j]){
                        int temp = data[i] ;
                        data[i] = data[j] ;
                        data[j] = temp ;
                        flag = true ;
                    }
                    System.out.println("第" + (i+1) + "-" + j + "次排序: " + Arrays.toString(data));
                }
                if (!flag){
                    break;
                }
                System.out.println("第" + (i+1) + "次大排序: " + Arrays.toString(data) + "
    ");
            }
        }
    

    选择排序结果

  • 相关阅读:
    Ynoi2016 这是我自己的发明
    Luogu P5268 [SNOI2017]一个简单的询问
    Ynoi2017 由乃的玉米田
    BZOJ4320 [Shanghai2006]Homework
    JOISC2014C 歴史の研究
    莫队
    LOJ6119 「2017 山东二轮集训 Day7」国王
    Luogu P3295 [SCOI2016]萌萌哒
    10.1 进程间通信--消息队列
    9.2 网络协议理论
  • 原文地址:https://www.cnblogs.com/sun-iot/p/12168064.html
Copyright © 2011-2022 走看看