排序算法 -- (三)简单选择排序

时间:2021-05-12 22:10:48

简单选择排序


用法:常用于取序列中最大最小的几个数时


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;

}

}

}

4、结果

排序算法 -- (三)简单选择排序