美文网首页算法
排序算法:选择排序_简单选择排序

排序算法:选择排序_简单选择排序

作者: ADark0915 | 来源:发表于2018-02-27 16:26 被阅读5次

基本思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换;然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。

    private void selectSort(int[] nums) {
        for (int i = 0; i < nums.length; i++) {
            int min = i;
            // 每次选择出最小值的索引
            for (int j = i + 1; j < nums.length; j++) {
                if (nums[min]>=nums[j]){
                    min = j;
                }
            }

            // 如果有最小值,就跟历史的最小值交换
            if (min != i){
                swap(nums, i, min);
            }
        }
    }

    /**
     * @param nums
     * @param a    索引
     * @param b    索引
     */
    private void swap(int[] nums, int a, int b) {
        nums[a] = nums[a] + nums[b];
        nums[b] = nums[a] - nums[b];
        nums[a] = nums[a] - nums[b];
    }

相关文章

  • 算法-选择排序

    算 法:选择排序算法时间复杂度: 选择排序算法概述 选择排序伪代码 选择排序实现 选择排序算法概述 排序算法有许...

  • 常用排序算法总结

    一、选择排序 选择排序示意图 选择排序(Selection sort)也是一种简单直观的排序算法。 算法步骤: 1...

  • 排序算法

    排序算法 非线性时间比较类排序 交换排序 冒泡排序 快速排序 插入排序 插入排序 希尔排序 选择排序 简单选择排序...

  • 排序算法(四)选择排序

    排序算法(四)选择排序 1.算法思路  选择排序(Selection-Sort)是一种简单直观的排序算法。它的工作...

  • 选择排序算法

    一、选择排序算法 选择排序(Selection sort)是一种简单直观的排序算法。 二、算法思想 每一次从待排序...

  • 基础算法|简单选择排序

    简单选择排序是一种排序算法,指在简单选择排序过程中,所需移动记录的次数比较少。简单选择排序是不稳定排序。 简单选择...

  • 算法 ----排序算法

    1、排序算法有哪些? 插入排序: 直接插入排序、希尔排序选择排序: 简单选择排序、堆排序交换排序:冒泡排序、快速排...

  • IOS 常用算法

    一:排序算法 排序方式有插入排序,选择排序和交换排序三种。插入排序有直接插入排序和希尔排序。选择排序有简单选择排序...

  • PHP 实现选择排序

    导语 这篇说下选择排序。 选择排序 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理...

  • 基本排序算法

    冒泡算法 简单选择排序 堆排序 快排 归并排序

网友评论

    本文标题:排序算法:选择排序_简单选择排序

    本文链接:https://www.haomeiwen.com/subject/pijmxftx.html