冒泡排序-BubbleSort

1、基本思路

        从数组的左边开始,比较两个元素的大小,当左边大于右边时,更换左右元素位置,否则不改变;接着向右移动一步,比较第二个元素和第三个元素的大小,重复上述操作,直到最后一个元素,此时,最大的元素就已经移动到了最右边;然后进行下一轮比较,但是下一轮比较时,不需要比较最后一个元素了。

2、代码实现

public class BubbleSort {
    public static void main(String[] args) {
        int[] arr = new int[]{33, 24, 4, 28, 95, 63, 86, 77};
        bubbleSort(arr);
        for (int i = 0; i < arr.length; i++){
            System.out.print(arr[i] + " ");
        }
    }
    /**
     * 冒泡排序
     *
     * @param arr 需要排序的整数数组
     */
    public static void bubbleSort(int[] arr) {
        int length = arr.length;
        for (int i = length -1; i > 0; i-- ){
            for (int j = 0; j < i; j++){
                if (arr[j] > arr[j+1]){
                    swap(j,j+1,arr);
                }
            }
        }
    }
    private static void swap(int i, int i1, int[] arr) {
        int temp = arr[i];
        arr[i] = arr[i1];
        arr[i1] = temp;
    }
}

 双层循环,时间复杂度为O(N^2)

3、动态理解 

查看这个网站,动态演示,帮助理解

相关推荐

  1. 排序算法——冒泡排序

    2024-01-19 10:36:03       62 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-19 10:36:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-19 10:36:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-19 10:36:03       82 阅读
  4. Python语言-面向对象

    2024-01-19 10:36:03       91 阅读

热门阅读

  1. c语言0基础笔记

    2024-01-19 10:36:03       56 阅读
  2. Oracle Extractor

    2024-01-19 10:36:03       56 阅读
  3. P2717 寒假作业 题解 CDQ分治

    2024-01-19 10:36:03       48 阅读
  4. 自然语言处理-词向量技术

    2024-01-19 10:36:03       48 阅读
  5. 新概念:组织度,组织力,组织熵,自组织度

    2024-01-19 10:36:03       56 阅读
  6. AIGC技术在公益领域的创新应用

    2024-01-19 10:36:03       57 阅读
  7. jQuery —— W3school 详解 简单易懂 (一)

    2024-01-19 10:36:03       55 阅读
  8. 自动安装解压版mysql8的脚本

    2024-01-19 10:36:03       58 阅读