十大经典排序算法系列博客——>传送门


冒泡排序重复地遍历待排序的数列,每次比较两个相邻元素,如果它们的顺序错误就把它们交换。重复地进行遍历直到没有再需要交换时表示数列已经排序完成。

算法步骤:

  • 比较相邻的元素:若第一个比第二个大,则交换;

  • 遍历开始第一对到结尾最后一对,执行步骤1;

  • 重复步骤1~2,直到排序完成。

代码展示

#include<iostream>
using namespace std;
void print(int a[],int n);
void bubbleSort(int a[], int n);
int main()
{int a[] = { 3, 10, 0, 17, 5, 8, 2, 3, 9, 6 };bubbleSort(a, 10);return 0;
}
void bubbleSort(int a[], int n)
{for (int i = 1; i < n; i++){for (int j = 0; j < n - i; j++){if (a[j + 1] < a[j]){int x = a[j];a[j] = a[j + 1];a[j + 1] = x;}}cout << "第" << i << "趟冒泡后" << endl;print(a, n);}
}
void print(int a[], int n)
{for (int i = 0; i < n; i++){cout << a[i] << " ";//cout << endl;}cout << endl;cout << "-------------------------";cout << endl;
}

日拱一卒,功不唐捐。

【GIF动画+完整可运行源代码】C++实现 冒泡排序——十大经典排序算法之一相关推荐

  1. 【完整可运行源码+GIF动画演示】十大经典排序算法系列——冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序

    以前也零零碎碎发过一些排序算法,但总是不系统, 这次彻底的对排序系列做了一个整体的规划, 小伙伴们快快mark哦~ [GIF动画+完整可运行源代码]C++实现 冒泡排序--十大经典排序算法之一 [GI ...

  2. C++实现桶排序——十大经典排序算法之九【GIF动画+完整代码+详细注释】

    十大经典排序算法系列博客-->传送门 桶排序是计数排序的升级版.它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定.桶排序 (Bucket sort)的工作的原理:假设输入数据服从均 ...

  3. 十大经典排序算法动画与解析,看我就够了

    作者 | 程序员小吴 转载自五分钟学算法(ID: CXYxiaowu) 排序算法是<数据结构与算法>中最基本的算法之一. 排序算法可以分为内部排序和外部排序.内部排序是数据记录在内存中进行 ...

  4. 11月14日云栖精选夜读 | 动画+原理+代码,解读十大经典排序算法

    排序算法是<数据结构与算法>中最基本的算法之一. 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过 ...

  5. 十大经典排序算法及比较与分析 ( 动画演示 ) ( 可视化工具 )

    可视化工具及动画展示:旧金山大学 (usfca)|数据结构可视化工具 排序算法概念及描述:1.0 十大经典排序算法(文章部分内容引用自改文章) 参考:邓俊辉 的数据结构 本文未对排序算法概念进行详细说 ...

  6. 十大经典排序算法动画,看我就够了!

    Tip 为了演示更加清楚,本文中所有的动画都放慢了速度,因此GIF大小对比之前会有所增大,图片加载速度会变慢,如果你想获取所有的超清动画,在公众号 五分钟学算法 回复 github 可获得资料. 在前 ...

  7. 十大经典排序算法动画与解析,看我就够了!(附代码)

    作者 | 程序员小吴 来源 | 五分钟学算法(ID:CXYxiaowu) 排序算法是<数据结构与算法>中最基本的算法之一.排序算法可以分为内部排序和外部排序.内部排序是数据记录在内存中进行 ...

  8. c语言动画原理,动画详解十大经典排序算法(C语言版)

    排序算法是程序员必备的基础知识,弄明白它们的原理和实现很有必要.本文中将通过非常细节的动画展示出算法的原理,配合代码更容易理解. 概述 由于待排序的元素数量不同,使得排序过程中涉及的存储器不同,可将排 ...

  9. 十大经典排序算法(附代码、动画及改进方案)

    前言说明 十大排序算法可以说是每个程序员最早接触的也是最重要的算法,这一块必须要非常熟练的掌握,应该要理解每种排序的思想,对各个排序的性能的了解也是基础且重要的.为了方便自己和大家学习,决定整合成一篇 ...

最新文章

  1. 王炸不断,半导体巨头们到底在打什么牌?
  2. CentOS7 RedHat7 添加静态路由方法
  3. .NET Core 使用 nlog 进行日志记录
  4. 辽宁师范大学java_辽宁师范大学心理学院
  5. 生产订单总目标成本为0
  6. YOLOv3 《YOLOv3: An Incremental Improvement》论文笔记
  7. QTP3种错误处理机制
  8. Composer快速入门
  9. icmp的报文,Destination Host Unreachable
  10. 苹果打脸!一直号称注重隐私的苹果为监听Siri 录音事件道歉...
  11. Robot Framework安装过程
  12. 局域网p2p终结者之类流氓软件抢占网速的原理
  13. 深入解析Windows操作系统(一)概念和工具
  14. 【转】汇编指令与机器码的相互转换
  15. 网线的分类及速率,您知道吗?
  16. 华为企业云如何让 DevOps 真正落地?
  17. 第三方支付原理与概述
  18. CSU - 1655 文本计算器
  19. C. Keshi Is Throwing a Party(二分答案),最/佳牛围栏,average。
  20. SC系列 (SC-16S) 低频率小型SMD石英晶振 SC-16S 32.768KHZ 12.5PF/20PPM

热门文章

  1. 第23讲:利用资源,学会用打码平台处理验证码
  2. 第20讲:代理的基本原理和用法
  3. python爬取糗事百科
  4. 25个实用编程小技巧
  5. 设计模式:各个模式间的对比
  6. 深度解密Go语言之反射
  7. 实时音视频技术的演进与应用
  8. 实时远程医学影像服务质量保障与网络优化
  9. AV1生态系统更新:2019年6月
  10. 宋利:编码既是技术也是艺术