0
点赞
收藏
分享

微信扫一扫

centos 7 kvm 安装centos6.8

yeamy 2024-02-19 阅读 21

选择排序(Selection Sort)是一种简单直观的排序算法,其算法原理为首先在未排序的序列中找到最小(大)的元素,存放到排序序列的起始位置,然后再从剩余未排序的元素中继续寻找最小(大)的元素,存放到已排序序列的末尾,以此类推,直到所有元素均排序完成。

选择排序一共有“数组数-1”轮排序,每一轮排序又是一个循环,循环的规则如下:

1)先假定当前这轮循环的第一个数是最小数。

2)然后和后面每个数进行比较,如果发现有比当前数更小的数,则重新确定最小数,并得到下标。

3)当遍历到数组的最后时,就得到本轮最小的数。

4)和当前循环的第一个数进行交换。

Java代码实现:

    public static void main(String[] args) {
        int[] arr={6,3,9,7,1,15,5,2,4,11,4};
        print(arr);
        selectionSort(arr,0,arr.length-1);
        print(arr);
    }
    public static void selectionSort(int[] arr,int left,int right){
        for (int k=left;k<=right;k++){
            int min=arr[k];
            int minIndex=k;

            for (int i=k+1;i<=right;i++){
                if (arr[i]<min){
                    min=arr[i];
                    minIndex=i;
                }
            }
            int tem=arr[k];
            arr[k]=arr[minIndex];
            arr[minIndex]=tem;
        }
    }
    private static void print(int[] arr) {
        for (int i : arr) {
            System.out.print(i+"\t");
        }
        System.out.println();
    }
举报

相关推荐

0 条评论