zoukankan      html  css  js  c++  java
  • 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;
        }
    
    }
    
    
    
    
  • 相关阅读:
    高速传输线PCB设计
    带状线和微带线
    资源分配
    异步时钟切换电路
    Mathcad操作tips:2D绘图
    Mathcad操作tips:函数、符号计算
    慢性胃炎注意事项
    Arduino I2C + 三轴加速度计ADXL345
    Arduino SPI + SPI Flash芯片W25Q80BV
    Arduino I2C + 三轴加速度计LIS3DH
  • 原文地址:https://www.cnblogs.com/gosun/p/8050028.html
Copyright © 2011-2022 走看看