码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 选择算法之冒泡排序【图文详解】


    P. S.:以下代码均在VS2019环境下测试,不代表所有编译器均可通过。
    P. S.:测试代码均未展示头文件stdio.h的声明,使用时请自行添加。

      

    在这里插入图片描述

                                               博主主页:LiUEEEEE
                                                  C语言专栏
                                                数据结构专栏
                                             力扣牛客经典题目专栏

    目录

    • 1、冒泡排序的基本思想
    • 2、冒泡排序的动态示意图
    • 3、冒泡排序的实现
    • 4、结语

    1、冒泡排序的基本思想


      基本思想:冒泡排序是一种简单的交换排序,其原理就是交换,即根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。




    2、冒泡排序的动态示意图


    在这里插入图片描述




    3、冒泡排序的实现


      冒泡排序的逻辑就是遍历数组,对数组每一位即其后一位元素进行比较,若满足比较条件(升序或降序),就将其元素进行交换,并进行下一次循环,若数组有n个成员,根据两两比较的原则,则需要比较n - 1次,即需遍历数组n - 1次,故根据其逻辑。
    • 具体代码如下所示:
    void BubbleSort(int* a, int n)
    {
    	for (int i = 0; i < n - 1; i++)
    	{
    		for (int j = 0; j < n - i - 1; j++)
    		{
    			if (a[j] > a[j + 1])
    			{
    				Swap(&a[j], &a[j + 1]);
    			}
    		}
    	}
    }
    

    冒泡排序的特性总结:

    1. 冒泡排序是一种非常容易理解的排序
    2. 时间复杂度:O(N^2)
    3. 空间复杂度:O(1)
    4. 稳定性:稳定




    4、结语


    在这里插入图片描述

      十分感谢您观看我的原创文章。
      本文主要用于个人学习和知识分享,学习路漫漫,如有错误,感谢指正。
      如需引用,注明地址。

  • 相关阅读:
    Flutter笔记:滚动之-无限滚动与动态加载的实现
    【ICer的脚本练习】“精通各种语言的hello world!“
    核心实验13合集_vlan mapping 和QinQ_ENSP
    SpringWeb解析
    ttkefu子账号提示已被关闭或过期是什么一样,该怎么处理呢?
    【设计模式】第3讲--工厂方法模式
    第十二章总结
    spark学习笔记(十)——sparkSQL核心编程-自定义函数UDF、UDAF/读取保存数据/五大数据类型
    Node.js 学习笔记
    voc(xml)标签查询种类并打印
  • 原文地址:https://blog.csdn.net/LiU11e/article/details/139368638
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号