算法 | 冒泡排序?看一遍就够了

简介: - 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法- 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行,直到没有相邻元素需要交换,也就是说该元素列已经排序完成

在这里插入图片描述
啊我摔倒了..有没有人扶我起来学习....


@TOC


前言

  • 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法
  • 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行,直到没有相邻元素需要交换,也就是说该元素列已经排序完成

一、冒泡排序的思想

  • 假如我们要从小到大排列数组元素。首先,遍历数组是肯定的,依次比较两个相邻的元素,假如左边的比右边的大,那么交换这两个值

在这里插入图片描述
可以发现,循环一次,就可以把最大的值交换在最右边(哪怕这个数组的元素是乱序的也是能达到这个效果的,具体可以自己思考并验证一下)

  • 一次循环解决一个数,还剩9个元素,那就再来9次!最终达到以下的效果

在这里插入图片描述

二、冒泡排序的代码实现

  1. 咱们自己造一个乱序的数组,看一看不是顺序的是不是确实也能按从小到大排序
  2. 核心部分是嵌套循环,内层循环实现将一个数往后移动到它的最终位置,外层循环实现确保每个数都能移动到它的最终位置
    for (int i = 0; i < sz - 1; i++)
    {
        for (j = 0; j < (sz - 1 - i); j++)
        {
            int tmp = 0;
            if (arr[j] > arr[j + 1])
            {
                tmp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = tmp;
            }
        }
    }
测试结果: 在这里插入图片描述测试成功!

在这里插入图片描述

相关文章
|
2月前
|
搜索推荐 Python
利用Python内置函数实现的冒泡排序算法
在上述代码中,`bubble_sort` 函数接受一个列表 `arr` 作为输入。通过两层循环,外层循环控制排序的轮数,内层循环用于比较相邻的元素并进行交换。如果前一个元素大于后一个元素,就将它们交换位置。
140 67
|
3月前
|
搜索推荐
冒泡排序算法
【10月更文挑战第19天】冒泡排序是一种基础的排序算法,虽然在实际应用中可能不是最优的选择,但对于理解排序算法的基本原理和过程具有重要意义。
|
3月前
|
算法 搜索推荐
数据结构与算法学习十一:冒泡排序、选择排序、插入排序
本文介绍了冒泡排序、选择排序和插入排序三种基础排序算法的原理、实现代码和测试结果。
25 0
数据结构与算法学习十一:冒泡排序、选择排序、插入排序
|
3月前
|
搜索推荐 算法 数据可视化
深入解析冒泡排序算法
深入解析冒泡排序算法
55 4
|
7月前
|
机器学习/深度学习 搜索推荐 算法
【再识C进阶2(下)】详细介绍指针的进阶——利用冒泡排序算法模拟实现qsort函数,以及一下习题和指针笔试题
【再识C进阶2(下)】详细介绍指针的进阶——利用冒泡排序算法模拟实现qsort函数,以及一下习题和指针笔试题
|
3月前
|
搜索推荐 C语言
排序算法--冒泡排序
排序算法--冒泡排序
25 0
|
3月前
|
存储 搜索推荐 算法
【排序算法(二)】——冒泡排序、快速排序和归并排序—>深层解析
【排序算法(二)】——冒泡排序、快速排序和归并排序—>深层解析
|
3月前
|
算法 Python
Python算法编程:冒泡排序、选择排序、快速排序
Python算法编程:冒泡排序、选择排序、快速排序
38 0
|
5月前
|
搜索推荐 Java
经典排序算法---冒泡排序
这篇文章详细介绍了冒泡排序算法的基本思想、比较轮数和次数,并提供了Java语言实现冒泡排序的代码示例,展示了如何通过相邻元素的比较和交换来达到排序的目的。
经典排序算法---冒泡排序
|
6月前
|
算法 PHP
【php经典算法】冒泡排序,冒泡排序原理,冒泡排序执行逻辑,执行过程,执行结果 代码
【php经典算法】冒泡排序,冒泡排序原理,冒泡排序执行逻辑,执行过程,执行结果 代码
38 1

热门文章

最新文章