排序算法之冒泡排序

114 阅读1分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第3天,点击查看活动详情

冒泡排序

冒泡排序一次遍历两个元素,如果顺序错误就对调两个元素,重复进行操作直至完全正确,算法名称来源是元素会慢慢交换“浮”到顶端。

1.1 算法描述

  • 遍历元素
  • 将当前遍历元素与剩余元素对比
  • 如果大于剩余元素则交换位置

1.2 代码实现

public void bubbleSort(int[] nums) {
    // 遍历元素
    for (int i = 0; i < nums.length; i++) {
        // 将元素和剩余元素两两对比
        for (int j = i; j < nums.length; j++) {
            // 如果前者比后者大, 则互换位置
            if (nums[i] > nums[j]) {
                int temp = nums[i];
                nums[i] = nums[j];
                nums[j] = temp;
            }
        }
    }
}

1.3 总结

冒泡排序时间复杂度O(n^2),空间复杂度O(1)