欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

选择排序-直接选择排序

程序员文章站 2022-03-09 20:17:26
...

1、概念

直接选择排序:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。

2、算法

public static void selectSort(int[] arr) {
        int length = arr.length;

        int min;
        for (int i = 0; i < length; i++) {

            min = i;//存储最小元素

            for (int j = i + 1; j < length; j++) {

                //总是将最小元素放到min位置
                if (arr[j] < arr[min]) {

                    int temp = arr[min];
                    arr[min] = arr[j];
                    arr[j] = temp;
                }
            }

            //输出结果
            System.out.print((i+1) + "times: ");
            for (int k = 0; k < length; k++) {
                System.out.print(arr[k] + "  ");
            }
            System.out.println();
        }
    }

运行结果:

source: 8  3  6  5  9  4  10  7  1  2  

1times: 1  8  6  5  9  4  10  7  3  2  
2times: 1  2  8  6  9  5  10  7  4  3  
3times: 1  2  3  8  9  6  10  7  5  4  
4times: 1  2  3  4  9  8  10  7  6  5  
5times: 1  2  3  4  5  9  10  8  7  6  
6times: 1  2  3  4  5  6  10  9  8  7  
7times: 1  2  3  4  5  6  7  10  9  8  
8times: 1  2  3  4  5  6  7  8  10  9  
9times: 1  2  3  4  5  6  7  8  9  10  
10times: 1  2  3  4  5  6  7  8  9  10