选择法(Java语言)
来源:互联网 发布:暖气片种类知乎 编辑:程序博客网 时间:2024/06/06 04:02
- public class Select {
- public static void sort(int[] values) {
- int temp;
- int pos;
- for (int i = 0; i < values.length; i++) {
- temp = values[i];
- pos = i;
- for (int j = i + 1; j < values.length; j++) {
- if (values[j] > temp) {
- temp = values[j];
- pos = j;
- }
- }
- values[pos] = values[i];
- values[i] = temp;
-
- System.out.print(values[i] + ",");
- }
- }
- public static void main(String[] args) {
- int[] values = { 3, 1, 6, 2, 9, 0, 7, 4, 5 };
- sort(values);
- }
- }
选择排序相对于冒泡来说,它不是每次发现逆序都交换,而是在找到全局第i小的时候记下该元素位置,最后跟第i个元素交换,从而保证数组最终的有序。相对与插入排序来说,选择排序每次选出的都是全局第i小的,不会调整前i个元素了。