选择排序
基本原理:每一次从待排序的数据元素中选出最小的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。
代码展示
/**
* 选择排序
* 1.找到数组中最小的元素的索引,与0位置交互
* 2.接着找其余部分的索引的数字,与1位置交换
*
* @param a
*/
public static void select(int[] a) {
for (int i = 0; i < a.length; i++) {
//内部开始寻找最小的元素的索引
//假设起始值就是最小值
int min = i;
for (int j = i + 1; j < a.length; j++) {
//从i+1开始寻找,如果比i小的话,那么min的索引就是j
if (a[j] < a[min]) min = j;
}
//最后进行交换
int temp = a[i];
a[i] = a[min];
a[min] = temp;
}
}
通过看代码,起始就是通过遍历循环,一趟一趟的把合适的值给找到,放到开头的位置上