选择排序

排序算法的思想就是把数组分成两个部分,前部的数组是一个有序的,并且保证是当前最小的集合。所以每次就是遍历剩下的元素,取出其中最小的,然后插入之前的有序集合。

表现最稳定的排序算法之一,因为无论什么数据进去都是O(n2)的时间复杂度,所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。理论上讲,选择排序可能也是平时排序一般人想到的最多的排序方法了吧。

原地+不稳定的特点。思维上比较简单。

public void chooseSort(int[] a ){
        int length = a.length;
        int index;
        int temp;
        for (int i = 0; i < length - 1; i++) {
            index = i;
            for (int j = i+1; j < length; j++) {
                if (a[j]<a[index]){
                    index = j;
                }
            }
            temp = a[i];
            a[i] = a[index];
            a[index] = temp;
        }
    }

  

原文地址:https://www.cnblogs.com/SmartCat994/p/14106703.html