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

    算法思维:第一层for循环控制趟数,第二层for循环从j=0和j=1开始比较
    如果发现前面比后面大则互换位置
    优化:当第一趟下来 没有元素交换,说明该数组已经有序了不需要排序

    package simpleAlgorithm;
    
    /**
     * @Author: WhaleFall541
     * @Date: 2021/6/12 23:22
     * 算法思维:第一层for循环控制趟数,第二层for循环从j=0和j=1开始比较
     * 如果发现前面比后面大则互换位置
     * 优化:当第一趟下来 没有元素交换,说明该数组已经有序了不需要排序
     */
    public class BubbleSort {
        public static void main(String[] args) throws InterruptedException {
            int[] arr = {-1111, 20, -3, -10, 100, -255};
            bubble(arr);
            StringBuilder sb = new StringBuilder();
            for (int i : arr)
                sb.append(i).append(" ");
            System.out.println("sb = " + sb);
    
        }
    
        // 冒泡排序
        private static void bubble(int[] arr) {
    
            for (int i = 0; i < arr.length; i++) {
                boolean f = false;
                for (int j = i + 1; j < arr.length; j++) {
                    if (arr[j - 1] > arr[j]) {
                        swap(arr, j - 1, j);
                        f = true;
                    }
                }
                if (!f) return;
            }
    
        }
    
        private static void swap(int[] arr, int a, int b) {
            int tmp = arr[a];
            arr[a] = arr[b];
            arr[b] = tmp;
        }
    }
    

    转载请注明 原文地址

  • 相关阅读:
    【TypeScript】TypeScript中的数据类型
    正则表达式
    约束和异常处理
    面向对象-成员
    初识面向对象
    内置函数二
    生成器和生成器表达式
    函数名的运用
    函数
    文件操作
  • 原文地址:https://www.cnblogs.com/whalefall541/p/14879376.html
Copyright © 2011-2022 走看看