zoukankan      html  css  js  c++  java
  • 经典排序算法(二) —— Bubble Sort 冒泡排序

    简介

    冒泡排序也是一种简单的排序算法。

    它的基本原理是:重复地扫描要排序的数列,一次比较两个元素,如果它们的大小顺序错误,就把它们交换过来。这样,一次扫描结束,我们可以确保最大(小)的值被移动到序列末尾。

    这个算法的名字由来,就是因为越小的元素会经由交换,慢慢“浮”到数列的顶端。

    排序过程

    实现

    
    /**
         * 冒泡排序
         *
         * @param nums nums
         * @return re
    */
    public static int[] sort(int[] nums) {
        for (int i = 0; i < nums.length; i++) {
            for (int j = i; j < nums.length; j++) {
                if (nums[j] > nums[i]) {
                    exchangeArrayEle(nums, i, j);
                }
            }
        }
        return nums;
    }
    
    /**
         * 交换数组元素
         * 临时变量法
         *
         * @param nums 数组
         * @param i 待交换元素i
         * @param j 待交换元素j
     */
    public static void exchangeArrayEle(int[] nums, int i, int j) {
        Assert.assertNotNull(nums);
        int tmp = nums[i];
        nums[i] = nums[j];
        nums[j] = tmp;
    }
    

    复杂度

    O(n^2)
    
  • 相关阅读:
    37 图的存储结构
    hdu 1272 使用set和并查集
    题目数据输入中间读入字符
    第六篇 模块基础
    第十二章 并发编程
    并发编程(四)
    第五篇 函数进阶
    第四篇 函数基础
    并发编程(三)
    并发编程(二)
  • 原文地址:https://www.cnblogs.com/worldline/p/15685725.html
Copyright © 2011-2022 走看看