• 超详细的~~~冒泡排序和选择排序


    冒泡排序

    /**
     * 冒泡排序
     * 核心思想:每次从数组的第一个位置开始两两比较,把较大的元素进行层层交换
     * 最终把当前最大的一个元素存入到数组当前的末尾
     *
     * 冒泡的核心:
     * 1、确定总共要冒几轮:数组的长度-1
     * 2、每轮两两比较
     *      i(轮数)    次数
     *      0           3
     *      1           2     次数=数组的长度-i-1
     *      2           1
     * */
    public class Demo {
        public static void main(String[] args) {
            int [] arr=new int[]{55,22,99,77};
            //1、定义一个循环控制总共需要冒泡几轮,数组长度-1
            for(int i=0;i<arr.length-1;i++){
                //控制每轮比较几次
                for(int j=0;j<arr.length-i-1;j++){
                    //当前元素大于后面元素
                    if(arr[j]>arr[j+1]){
                        //交换位置
                        //定义一个临时变量存储后一个元素
                        int temp=arr[j+1];
                        arr[j+1]=arr[j];
                        arr[j]=temp;
                    }
                }
            }
            System.out.println("数组:"+ Arrays.toString(arr));
        }
    
    }
    

    选择排序

    import java.util.Arrays;
    
    /**
     * 选择排序
     * 思想:从当前位置开始找出后面的较小值与该位置比较
     * 思路:
     *      1、控制选择几轮,数组长度-1
     *      2、控制每轮从当前位置比较几次
     *          i(轮数)     次数
     *          0             3
     *          1             2         每轮比较的几次:数组的长度-i-1
     *          2             1
     * */
    public class Demo {
        public static void main(String[] args) {
            int [] arr={5,1,2,4};
            //定义一个循环控制选择几轮
            for (int i=0;i<arr.length-1;i++){
    
                //定义一个循环控制每轮比较几次
                for (int j=i+1;j<arr.length;j++){
                    if(arr[j]<arr[i]){
                    int temp=arr[i];
                    arr[i]=arr[j];
                    arr[j]=temp;
                    }
    
                }
            }
            System.out.println("数组:"+ Arrays.toString(arr));
        }
    
    
    }
    
    
  • 相关阅读:
    SQL Server 优化-执行计划
    SQL Server 开发-语法学习
    MySQL管理_数据库常用命令
    MySQL管理_数据库启动与关闭
    SQL Server DBA日常查询视图_数据库性能视图
    SQL Server DBA性能优化
    MySQL系列 | MySQL高级-08逻辑架构
    工具系列 | Docker基本概念
    PHP系列 | [转] PHP中被忽略的性能优化利器:生成器
    PHP系列 | 代码复用trait的构造函数使用
  • 原文地址:https://www.cnblogs.com/HezhenbinGoGo/p/14243212.html
Copyright © 2020-2023  润新知