zoukankan      html  css  js  c++  java
  • 经典排序算法(一) —— Selection Sort 选择排序

    简介

    选择排序是一种简单直观的排序算法。

    它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后追加到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

    排序过程

    实现

    /**
         * 选择排序
         * @param nums 待排序数组
         * @return 排序完成数组(升序)
    */
    public static int[] sort(int[] nums) {
    
        for (int i = 0; i < nums.length; i++) {
            int max = i;
            for (int j = i; j < nums.length; j++) {
                if (nums[j] > nums[max]){
                    max = j;
                }
            }
            exchangeArrayEle(nums, max, i);
        }
        return nums;
    }
    
    /**
         * 交换数组元素
         * 临时变量法
         *
         * @param nums 数组
         * @param i 待交换元素i
         * @param j 待交换元素j
     */
    public static void exchangeArrayEle(int[] nums, int i, int j) {
        Assert.assertNotNull(nums);
        int tmp = nums[i];
        nums[i] = nums[j];
        nums[j] = tmp;
    }
    

    复杂度

    O(n^2)
    
  • 相关阅读:
    Node 基本配置
    python GIL锁
    大数据 Zookeeper 集群
    大数据 Hadoop HA
    python 内置方法使用
    Linux Curl使用
    Linux 文件解压缩
    大数据 Hadoop 常见端口
    大数据 Hadoop 集群安装
    css结构设计思想
  • 原文地址:https://www.cnblogs.com/worldline/p/15680995.html
Copyright © 2011-2022 走看看