Algrothm_Sort_Selection

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

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


}


}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值