冒泡排序(c++)

冒泡排序(Bubble Sort)
是一种计算机科学领域的较简单的排序算法。
它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。
这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。
在这里插入图片描述

#include<iostream>
using namespace std;
void bubble_sort(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]);}}}
}
void main()
{int a[10]{ 3,6,4,2,11,10,5 };bubble_sort(a, 7);for (int i = 0; i < 7; i++){cout << a[i]<<" ";}
}

当然,冒泡排序也可以进一步优化

#include<iostream>
using namespace std;
void bubble_sort(int* a,int n)
{for (int i = 0; i < n-1; i++)//轮数{int flag = 0;//记录是否进行交换的标志位for (int j = 0; j < n - i - 1; j++)//每轮进行比较的次数{if (a[j] > a[j + 1]){swap(a[j], a[j + 1]);flag = 1;}}if (flag == 0)//如果一轮没有交换,则说明该序列已经是升序{break;}}
}
void main()
{int a[10]{ 3,6,4,2,11,10,5 };bubble_sort(a, 7);for (int i = 0; i < 7; i++){cout << a[i]<<" ";}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497086.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

原型模式详解

PrototypeClass.java public class PrototypeClass implements Cloneable {Overridepublic PrototypeClass clone() {try {final PrototypeClass instance (PrototypeClass) super.clone();return instance;} catch (CloneNotSupportedException e) {return null;}} } 1、构…

选择排序(c++)

选择排序 选择排序&#xff08;Selection sort&#xff09;是一种简单直观的排序算法。它的工作原理是&#xff1a;第一次从待排序的数据元素中选出最小&#xff08;或最大&#xff09;的一个元素&#xff0c;存放在序列的起始位置&#xff0c;然后再从剩余的未排序元素中寻找…

人机交互与智能的思考

来源&#xff1a; 人机与认知实验室概要&#xff1a;在过去的20年里&#xff0c;人工智能一直专注于围绕建设智能体所产生的问题&#xff0c;即在特定的情境下&#xff0c;可以感知并行动的各种系统,在这种情况下&#xff0c;智能是一个与统计学,和经济学相关的理性概念。1.智能…

享元模式详解

SignInfo.java public class SignInfo {/*** 报名人员ID.*/private String id;/*** 考试地点.*/private String location;/*** 考试科目.*/private String subject;/*** 邮寄地址.*/private String postAddress;/*** 获取id.* return the id*/public String getId() {return i…

Python 多进程 multiprocessing 使用示例

multiprocessing 文档&#xff1a;https://docs.python.org/zh-cn/3.10/library/multiprocessing.html Process、Lock、Semaphore、Queue、Pipe、Pool&#xff1a;https://cuiqingcai.com/3335.html 把一个多线程改成多进程&#xff0c;主要有下面几种方法&#xff1a; subpro…

IDC:2018年中国制造业十大预测

来源&#xff1a;先进制造业概要&#xff1a;2017年&#xff0c;中国制造业的竞争日趋激烈。生产成本压力增大以及经济下行趋势迫使中国制造企业的两极分化更加严重。日前&#xff0c;IDC发布了《IDC FutureScape&#xff1a;全球制造业2018预测——中国启示》&#xff0c;报告…

插入排序(c++)

插入排序 插入排序的工作方式像许多人排序一手扑克牌。开始时&#xff0c;我们的左手为空并且桌子上的牌面向下。然后&#xff0c;我们每次从桌子上拿走一张牌并将它插入左手中正确的位置。为了找到一张牌的正确位置&#xff0c;我们从右到左将它与已在手中的每张牌进行比较。拿…

Python 操作 redis

官网命令&#xff08;英文&#xff09;列表&#xff1a;http://redis.io/commands Redis 教程&#xff1a;http://www.redis.net.cn/tutorial/3501.html Redis 命令参考&#xff1a;http://redisdoc.com/index.html Windows 中 redis 的下载及安装、设置&#xff1a;https://…

redis调优 -- 内存碎片

最近查看了一下redis运行状况&#xff0c;发现公司测试服务器的redis内存不太够用&#xff0c;但是实际占用内存的数据量其实不大&#xff0c;以前也没有这种情况&#xff0c;之前在cache层新增了一个防刷积分任务的逻辑才会这样&#xff0c;搜索一下原因&#xff0c;发现原来是…

2018 物联网产业分布展望:基础设施将到位

来源&#xff1a;36氪概要&#xff1a;在过去一年多的时间里&#xff0c;关于初创企业失败以及安全问题令人担忧等报道内容一直笼罩着物联网行业。在过去一年多的时间里&#xff0c;关于初创企业失败以及安全问题令人担忧等报道内容一直笼罩着物联网行业。但其实&#xff0c;物…

深入理解C# 3.x的新特性(2):Extension Method[下篇]

四、Extension Method的本质 通过上面一节的介绍&#xff0c;我们知道了在C#中如何去定义一个Extension Method&#xff1a;它是定义在一个Static class中的、第一个Parameter标记为this关键字的Static Method。在这一节中&#xff0c;我们来进一步认识Extension Method。 和C#…

解释器模式详解

Expression.java public interface Expression {// 解析公式和数值&#xff0c;其中var 中的key 值是公式中的参数&#xff0c;value 值是具体的数字.public int interpreter(final Map<String, Integer> var); } VarExpression.java public class VarExpression imp…

二分查找(c++)

二分查找 二分查找也称折半查找&#xff08;Binary Search&#xff09;&#xff0c;它是一种效率较高的查找方法。但是&#xff0c;折半查找要求线性表必须采用顺序存储结构&#xff0c;而且表中元素按关键字有序排列。它充分利用了元素间的次序关系&#xff0c;采用分治策略&a…

谷歌母公司投资成绩:4大机构各有侧重,投资2个马斯克项目

李杉 编译自 TechCrunch量子位 出品 | 公众号 QbitAIAlphabet&#xff0c;谷歌母公司。和谷歌做的大多数事一样&#xff0c;Alphabet也在大规模进行投资。这这篇文章中&#xff0c;外媒TechCrunch盘点了Alphabet的风险投资情况、它的投资组合的表现&#xff0c;以及该公司的投资…

Redis 数据库入门教程

From&#xff1a;http://www.jb51.net/article/56448.htm Redis 菜鸟教程&#xff1a;http://www.runoob.com/redis/redis-tutorial.html Redis 设计与实现&#xff1a;http://redisbook.com/ Redis基础、高级特性与性能调优&#xff1a;https://www.jianshu.com/p/2f14bc57…

大脑的终极秘密——从狮子也有意识谈起

作者&#xff1a;中国科学院大学教授 谢平理性思维是意识的高级成分&#xff0c;但它并非人类的专利。在自然界的生存斗争中&#xff0c;人类不仅仅需要通过感觉器官去获取外部世界的印象&#xff0c;还需要对外部世界的事物进行归类、判断与推理&#xff0c;决定自己对刺激的…

一个线程池中的线程异常了,那么线程池会怎么处理这个线程?

来源&#xff1a;一个线程池中的线程异常了&#xff0c;那么线程池会怎么处理这个线程? - 反光的小鱼儿 - 博客园 一个线程池中的线程异常了&#xff0c;那么线程池会怎么处理这个线程? 目录 线程池常用问题 不允许使用的原因测试流程 测试用例抛出堆栈异常为啥对了一半?怎…

深度学习:技术原理、迭代路径与局限

来源&#xff1a;36氪作者&#xff1a;何沛宽本文尝试复盘梳理深度学习目前的技术要点&#xff0c;深度学习中模型迭代的方向&#xff0c;以及改进后存在的局限。第一部分&#xff1a;深度学习技术基本要素&#xff1a;神经元、神经网络、分类器、可视化框架在深度学习领域&…

简单而直接的Python web 框架:web.py

From&#xff1a;https://www.oschina.net/question/5189_4306 Web.py github 地址&#xff1a;https://github.com/webpy/webpy https://pypi.python.org/pypi/web.py Web.py Cookbook 简体中文版&#xff1a;http://webpy.org/cookbook/index.zh-cn web.py 0.3 新…

从寻找可敬的人类开始,扩展未来人类生存的8个维度

来源&#xff1a;资本实验室作者&#xff1a;李鑫从小村庄到大城市&#xff0c;从国内到国外&#xff0c;从地球到月球&#xff0c;从太阳系到银河系……什么样的距离才是最远的距离&#xff1f;从地球的内部&#xff0c;到每一个原子&#xff0c;再到我们的情绪&#xff0c;哪…