选择排序:
先将第一个位置的数值定义为最小值,
其次,在全部数值里面进行查找最小值,
然后进行比较,交换顺序使得最小值位于数组中元素的最前面

稳定性:[不稳定](不稳定的算法结构:如果有两个相同的元素5,会导致第一个5和第二个5的位置发生改变)
idea:站到一个位置上面,与其他数值进行比较
首先在未排序序列中找到最小元素,存放到排序序列的起始位置,
然后,再从剩余未排序元素中继续寻找最小元素,
最后放到排序序列末尾。以此类推,直到所有元素均排序完毕。

*/



package seven_happy;



public class Code_Demo {

/**

* author: Ain

* model: write a code about selection_sort

* date:2016-3-9

*/

// 定义可变量进行

private static final int[] ARRAY_NUMBER = { 2, 6, 1, 4, 8, 5 };



// 主main程序

public static void main(String[] args) {

// 借用无返回值方法进行排序

selection_sort(ARRAY_NUMBER);

// 进行循环输出

for (int i = 0; i < ARRAY_NUMBER.length; i++) {

System.out.print(ARRAY_NUMBER[i] + " ");

}

}



/**

* model:write a method about selection_sort

* author:Ain

*/

// 选择排序:双层for循环+一层if判断

public static void selection_sort(int[] ARRAY_NUMBER) {

for (int i = 0; i < ARRAY_NUMBER.length - 1; i++) {

int minIndex = i;

for (int j = i + 1; j < ARRAY_NUMBER.length; j++) {

// 进行最小值判断

if (ARRAY_NUMBER[minIndex] > ARRAY_NUMBER[j]) {

minIndex = j;

}

}

if (minIndex != i) {

// 交换位置

int temp = ARRAY_NUMBER[minIndex];

ARRAY_NUMBER[minIndex] = ARRAY_NUMBER[i];

ARRAY_NUMBER[i] = temp;

}



}



}

}