选择排序算法在每一步中选取最小值来重新排列,从而达到排序的目的。
选择排序算法通过选择和交换来实现排序,实现步骤如下:
1.首先从原始数组中选择最小的1个数据,将其和位于第一个位置的数据交换。
2.接着从剩下的 n-1 个数据中选择次小的1个数据,将其和第二个位置的数据交换
3.然后不断重复上述过程,直到最后两个两个数据完成交换。至此便完成了对原始数组从小到大的排序。
示例代码如下:
void selectSort(int[] a) {
int index;
//交换临时变量
int temp;
for (int i = 0; i < a.length - 1; i++) {
index = i;
for (int j = i + 1; j < a.length; j++) {
if (a[j] < a[index]) {
index = j;
}
}
//交换两个数
if (index != i) {
temp = a[i];
a[i] = a[index];
a[index] = temp;
}
}
//输出排序结果
for (int anA : a) {
System.out.print(" " + anA);
}
}