Jave基础之选择排序

Posted 脑白金

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jave基础之选择排序相关的知识,希望对你有一定的参考价值。

选择排序(Selection sort)

  • 基本介绍

选择排序:
每一次从未排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余未排序的元素中选出最小(或最大的)放在已排序序列的末尾,直到全部待排序的数据元素排完。
选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。

  • 算法介绍(后续补充)

  • 性能介绍(后续补充)

  • 优缺介绍(后续补充)

  • 代码展示(以从小到大排序为例)

public class SelectSort {


    public static void main(String[] args){
        int[] arr = {1,22,32,2,5,75,46,37,23,99};
        int[] arrSort = selectSort(arr);
        for(int i = 0; i < arrSort.length; i++){
            System.out.println(arr[i]);
        }
    }
    //选择排序
    public static int[] selectSort(int[] arr){
        int minIndex = 0;
        for(int i = 0; i < arr.length-1; i++){
            minIndex = i;//用来动态记录较小数字的下标
            for(int j = i+1; j < arr.length; j++){
                if(arr[minIndex] > arr[j]){
                    minIndex = j;
                }
            }
            if(minIndex != i){
                arr[minIndex] = arr[minIndex] + arr[i];
                arr[i] = arr[minIndex] - arr[i];
                arr[minIndex] = arr[minIndex] - arr[i];
            }
        }

        return arr;
    }

}


以上是关于Jave基础之选择排序的主要内容,如果未能解决你的问题,请参考以下文章

基础算法之选择排序算法

Jave 之方法-函数

算法排序之堆排序

记录学博图—SCL排序之选择排序法

c语言之插入排序选择 排序

jave script 经典排序 - -冒泡排序