您的位置:首页 > 编程语言 > Java开发

java简单排序之选择排序

2016-04-25 09:39 489 查看
这篇文章谈的是选择排序,选择排序就是第一次找出最小的,第二次找出第二小的......,然后依次和第一个,第二个交换,到了最后面,也就是排序完成了,可能理论有点绕,看看代码就清楚了。

package www.jk.selectsort;

/**
*
* @author jk 这段代码写的是选择排序,其实我个人来看,也是蛮简单的,第一层循环,数的个数,第二层循环,找出当前的循环体内的最小或者最大的数的下标,
*         如果和之前的下标不相等的话,那么就交换位置,感觉就这个样子,这个代码的注释要清楚一些,可以看看注释再看代码也是可以。
*
*/
public class test {
public static void main(String[] args) {
int[] a = { 1, 4, 2, 2, 5, 7, 9, 4 };
selectSort(a);
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
}

public static void selectSort(int[] a) {

int index = 0;
// 第一次循环,数的个数,也就是我们需要循环的次数
// first loop, the number of array,the time we need to launch secondloop
for (int i = 0; i < a.length; i++) {
// 记录我们已经进行了多少次,其实也就是已经找到了多少个了,也可以说是当需要找的第n小的数位置
// record the number we have launched
index = i;
// 找到本次循环中最小的数的下标
// find the smallest number index in this loop
for (int j = i + 1; j < a.length; j++) {

if (a[j] < a[index])
index = j;
}
// 交换数字
// exchange the number
if (index != i) {
int temp = a[i];
a[i] = a[index];
a[index] = temp;
}
}
}

}
到了这里,简单的排序系列也就完成了,后面的排序就不是那么容易理解了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: