zoukankan      html  css  js  c++  java
  • 1.冒泡排序

    ● 交换排序的一种
    ● 依次比较相邻的两个待排序元素,若为逆序(递增或递减)则进行交换,将待排序元素从左
    至右比较一遍称为一趟“冒泡”
    ● 每趟冒泡都将待排序列中的最大关键字交换到最后(或最前)位置
    ● 直到全部元素有序为止/直到某次冒泡过程中没有发生交换为止
    思路
    ● 第一次循坏遍历整个数组,找到数组中最大的一个元素,让其和数组中第一个元素交换位
    置,a[0]=最大元素
    ● 第二次循坏遍历整个数组,找到数组中次最大一个元素,让其和数组中第二个元素交换位
    置,a[1]=次最大元素
    ● 以此类推,遍历完整个数组,

         public void sort(int[] arr) {
            int temp = 0;
            for (int j = 0; j < arr.length; j++) {
                for (int i = 0; i < arr.length ­ j ­ 1; i++) {
                    // 如果前一个元素大于后一个元素,则需要交换 2 个位置的数据 
                    if (arr[i] > arr[i + 1]) {
                        temp = arr[i];
                        arr[i] = arr[i + 1];
                        arr[i + 1] = temp;
                    }
                }
            }
    
  • 相关阅读:
    总纲与计划(持续更新)
    【MyBatis】MyBatis缓存
    【MyBatis】MyBatis源码架构
    【JVM】CPU飙升问题
    【Spring boot】SpringApplication三板斧
    【MySQL】借助binlog排查一次生产问题
    【Docker】常用命令
    【Python】CentOS7安装Python3.7以及注意事项
    【高并发】乐观锁和悲观锁
    【java基础】说清楚equals和==
  • 原文地址:https://www.cnblogs.com/moox/p/12027852.html
Copyright © 2011-2022 走看看