您的位置:首页 > 其它

Algrothm_Sort_Selection

2016-03-09 16:39 183 查看
/*

选择排序:

先将第一个位置的数值定义为最小值,

其次,在全部数值里面进行查找最小值,

然后进行比较,交换顺序使得最小值位于数组中元素的最前面

稳定性:[不稳定](不稳定的算法结构:如果有两个相同的元素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;

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: