选择排序SelectionSort

原创 2018年04月16日 17:41:58

     选择排序同冒泡排序一样都是O(n²)的排序算法,但是相比冒泡排序效率上有进一步的提升。核心思想也是进行双层循环,但是内层循环有保存最小值的临时变量默认为上层循环的值,然后对内层循环挨个比较如果有比临时变量小的(大的),则保存到临时变量中,当内层循环结束调换上层循环当前下表和临时变量中保存下标位置。

    public static void sort(Comparable[] arr){
        for (int i = 0; i < arr.length; i++) {
            int minIndex = i;
            for (int j = i; j < arr.length; j++) {
                if (arr[j].compareTo(arr[minIndex]) < 0) {
                    minIndex = j;
                }
            }
            Comparable obj = arr[minIndex];
            arr[minIndex] = arr[i];
            arr[i] = obj;
        }
    }

2014年5月软考网络工程师上午真题详解视频教程

详细解析了2014年5月网络工程师上午的考试,对每一道题都进行了重点的讲解,并点出了相关的考察点。对于一些发散的知识点也给广大考生做了相应的说明。相信大家通过本次试题讲解能够抓住网络工程师上午考试的要点。建议结合上、下午知识点讲解进行配套学习,效果更佳。有任何网工方面的问题都可沟通交流。
  • 2016年07月04日 17:06

选择排序(Selection Sort)原理及Java实现

选择排序(Selection Sort )分为两种 简单选择排序(Simple Selection Sort) 和树形选择排序。 简单选择排序(Simple Selection Sort): 简单...
  • sun_star1chen
  • sun_star1chen
  • 2014-01-16 09:10:01
  • 1660

选择排序(Java语言实现)

package com.shan.selectionSort;/** * * @author shan *选择排序:假设要按升序排列一个数列, *选择排序先找到数列中最小的数,然后将它放到数...
  • stuShan
  • stuShan
  • 2015-10-14 23:27:49
  • 828

选择排序法(Selection Sort) 复习--附图示说明

这是复习选择排序法( Selection Sort) 所作的笔记~
  • shanwu1985
  • shanwu1985
  • 2015-06-22 01:19:49
  • 954

c/c++选择排序(SelectionSort)

选择排序原理是,先选取第一个数与其他所有数比较,把比较后的最小的数与第一个数交换,这样每执行一次循环就会将最小的数排到最左边,并且下一次循环比较时就会从第二个数再进行比较,也就是少比较一次,同冒泡排序...
  • gaohuazhao
  • gaohuazhao
  • 2016-06-22 10:48:32
  • 1460

排序算法之选择排序<Selection_Sort>及其C语言代码实现

概述 一个选择排序是一种简单排序,它的排序思路是:每次从未排序的序列中选出一个最小值,并把它放在已排好序的序列的序尾。这样就形成了一个有序序列(从小到大)。 时间复杂度:o(n^2) 核心代码:...
  • gl486546
  • gl486546
  • 2016-11-06 10:08:45
  • 2539

python——选择排序

选择排序:一次遍历取出数组中最小(大)的数存储到另一个数组中,时间为O(n^2)# 取出数组中最小的数的索引 def findSmaller(arr): smallest = arr[0] sma...
  • momozcal
  • momozcal
  • 2018-03-20 13:07:37
  • 17

C++选择排序法(Selection Sort)

// implementation of Selection Sort (C++) #include using namespace std; void SwapTwo(int& a, in...
  • lijialinapple
  • lijialinapple
  • 2014-04-04 17:37:25
  • 2522

选择排序 【SelectionSort】

选择排序 假设初始的数组是[5,4,7,2] 以从小到大排序为例,我们可以将数组分为两个区域,一个是无序区,一个是有序区,在一开始所有的数据都在无序区。 进行第一轮排序,对无序区的数组[5,4,...
  • u013435893
  • u013435893
  • 2018-04-16 23:43:14
  • 0

数组之选择排序

class TestSortNum {     public static void main(String[] args)     {         /*         需求:通过命令...
  • Prince140678
  • Prince140678
  • 2016-07-07 17:26:22
  • 224
收藏助手
不良信息举报
您举报文章:选择排序SelectionSort
举报原因:
原因补充:

(最多只允许输入30个字)