• 一、选择排序


    什么事选择排序,从名字来看需要选择一个数。是的,选择排序就是拿一个数和其他的作对比,小的往前放。

    package bubbling;
    
    /**
     * 选择排序
     *
     * @author zy 
     * @version 1.0
     * @since 2020/4/9
     */
    public class Selected {
    
        static void ari() {
            int a[] = new int[]{9, 3, 5, 7, 6, 2, 1, 4, 8};
    
            for (int i = 0; i < a.length; i++) {
                int v = i;//先将数组第一个下标定义为最小数值的下标
                for (int j = i + 1; j < a.length; j++) {
                    v = a[j] < a[v] ? j : v;//将后边的值与上诉定义位置值相比较,小的将v的值改变
                }
                exchange(a, i, v);//走到这里就拿到了当前最小的值,把最小值和前边的位置交换
            }
            print(a);
        }
    
        /**
         * 交换
         * @param a 要交换位置的数组
         * @param i 要交换的位置(正确的位置)
         * @param j 最小值所在的位置
         */
        static void exchange(int[] a, int i, int j) {
            int temp = a[i];//用temp 最为第三方变量存储正确位置的值
            a[i] = a[j];//将正确的值放到正确的位置
            a[j] = temp;
        }
    
        static void print(int a[]) {
            for (int i = 0; i < a.length; i++) {
                System.out.print(a[i] + ",");
            }
        }
    
        public static void main(String[] args) {
            ari();
        }
    }

    到此结束,谢谢观赏

  • 相关阅读:
    Java变量以及内存分配
    在ORACLE存储过程中创建临时表
    CREATE OR REPLACE FUNCTION
    DECLARE
    CURSOR
    STM32WB SRAM2
    git版本控制
    STM32WB HSE校准
    STM32 HSE模式配(旁路模式、非旁路模式)
    STM32WB 信息块之OTP
  • 原文地址:https://www.cnblogs.com/Tiandaochouqin1/p/12666017.html
Copyright © 2020-2023  润新知