Java选择排序

选择排序(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]

你可能感兴趣的:(排序算法,数据结构,算法)