【GIF动画+完整可运行源代码】C++实现 冒泡排序——十大经典排序算法之一
十大经典排序算法系列博客——>传送门
冒泡排序重复地遍历待排序的数列,每次比较两个相邻元素,如果它们的顺序错误就把它们交换。重复地进行遍历直到没有再需要交换时表示数列已经排序完成。
比较相邻的元素:若第一个比第二个大,则交换;
遍历开始第一对到结尾最后一对,执行步骤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++实现 冒泡排序——十大经典排序算法之一相关推荐
- 【完整可运行源码+GIF动画演示】十大经典排序算法系列——冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序
以前也零零碎碎发过一些排序算法,但总是不系统, 这次彻底的对排序系列做了一个整体的规划, 小伙伴们快快mark哦~ [GIF动画+完整可运行源代码]C++实现 冒泡排序--十大经典排序算法之一 [GI ...
- C++实现桶排序——十大经典排序算法之九【GIF动画+完整代码+详细注释】
十大经典排序算法系列博客-->传送门 桶排序是计数排序的升级版.它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定.桶排序 (Bucket sort)的工作的原理:假设输入数据服从均 ...
- 十大经典排序算法动画与解析,看我就够了
作者 | 程序员小吴 转载自五分钟学算法(ID: CXYxiaowu) 排序算法是<数据结构与算法>中最基本的算法之一. 排序算法可以分为内部排序和外部排序.内部排序是数据记录在内存中进行 ...
- 11月14日云栖精选夜读 | 动画+原理+代码,解读十大经典排序算法
排序算法是<数据结构与算法>中最基本的算法之一. 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过 ...
- 十大经典排序算法及比较与分析 ( 动画演示 ) ( 可视化工具 )
可视化工具及动画展示:旧金山大学 (usfca)|数据结构可视化工具 排序算法概念及描述:1.0 十大经典排序算法(文章部分内容引用自改文章) 参考:邓俊辉 的数据结构 本文未对排序算法概念进行详细说 ...
- 十大经典排序算法动画,看我就够了!
Tip 为了演示更加清楚,本文中所有的动画都放慢了速度,因此GIF大小对比之前会有所增大,图片加载速度会变慢,如果你想获取所有的超清动画,在公众号 五分钟学算法 回复 github 可获得资料. 在前 ...
- 十大经典排序算法动画与解析,看我就够了!(附代码)
作者 | 程序员小吴 来源 | 五分钟学算法(ID:CXYxiaowu) 排序算法是<数据结构与算法>中最基本的算法之一.排序算法可以分为内部排序和外部排序.内部排序是数据记录在内存中进行 ...
- c语言动画原理,动画详解十大经典排序算法(C语言版)
排序算法是程序员必备的基础知识,弄明白它们的原理和实现很有必要.本文中将通过非常细节的动画展示出算法的原理,配合代码更容易理解. 概述 由于待排序的元素数量不同,使得排序过程中涉及的存储器不同,可将排 ...
- 十大经典排序算法(附代码、动画及改进方案)
前言说明 十大排序算法可以说是每个程序员最早接触的也是最重要的算法,这一块必须要非常熟练的掌握,应该要理解每种排序的思想,对各个排序的性能的了解也是基础且重要的.为了方便自己和大家学习,决定整合成一篇 ...
最新文章
- 王炸不断,半导体巨头们到底在打什么牌?
- CentOS7 RedHat7 添加静态路由方法
- .NET Core 使用 nlog 进行日志记录
- 辽宁师范大学java_辽宁师范大学心理学院
- 生产订单总目标成本为0
- YOLOv3 《YOLOv3: An Incremental Improvement》论文笔记
- QTP3种错误处理机制
- Composer快速入门
- icmp的报文,Destination Host Unreachable
- 苹果打脸!一直号称注重隐私的苹果为监听Siri 录音事件道歉...
- Robot Framework安装过程
- 局域网p2p终结者之类流氓软件抢占网速的原理
- 深入解析Windows操作系统(一)概念和工具
- 【转】汇编指令与机器码的相互转换
- 网线的分类及速率,您知道吗?
- 华为企业云如何让 DevOps 真正落地?
- 第三方支付原理与概述
- CSU - 1655 文本计算器
- C. Keshi Is Throwing a Party(二分答案),最/佳牛围栏,average。
- SC系列 (SC-16S) 低频率小型SMD石英晶振 SC-16S 32.768KHZ 12.5PF/20PPM