简单选择排序
用法:常用于取序列中最大最小的几个数时
1、原理
1、遍历整个序列,将最小的数放在最前面。
2、遍历剩下的序列,将最小的数放在最前面。
3、重复第二步,直到只剩下一个数。
2、实现
1、首先确定循环次数,并且记住当前数字和当前位置。
2、将当前位置后面所有的数与当前数字进行对比,小数赋值给key,并记住小数的位置。
3、比对完成后,将最小的值与第一个数的值交换。
4、重复2、3步。
3、代码
简单选择排序:SelectSort
public class SelectSort {
/* 简单选择排序 */
public static void sort(int[] a) {
int length = a.length;
for (int i = 0; i < length - 1; i++) {// 循环次数
int key = a[i];
int position = i;
for (int j = i + 1; j < length; j++) {// 选出最小的值和位置
if (a[j] < key) {
key = a[j];
position = j;
}
}
a[position] = a[i];// 交换位置
a[i] = key;
}
}
}