冒泡排序算法 (C++)

c++十大排序——冒泡排序 将第一个元素和第二个元素进行比较,若为逆序则将两个元素交换,然后比较第二个元素和第三个元素。依次类推,直至第 n-1个元素和第 n个元素进行比较为止。上述过程称为第一趟冒泡排序,其结果使最大值元素被放置在最后一个位置(第 n个位置)。然后进行第二趟冒泡排序,对前 n-1个元素进行同样操作,其结果是使第二大元素被放置在倒数第二个位置上(第 n-1个位置)。 冒泡排序图解 黄色表示已排序部分,蓝色表示未排序部分。 代码实现 #include<iostream> using names. 阅读详情
   今天我想分享一个C++编写的冒泡排序算法,其实和C语言的没多大区别,就是有了C++专属的输入输出流方式,希望对初学者有帮助!
//冒泡排序算法
#include<iostream>
#include<stdlib.h>
using namespace std;

int main()
{ 
	int a[5];
	cout <<"please input the arry[]:"<< endl;
	for (int i = 0; i < 5; i++)
	{
		cin >> a[i];
	}
	int temp;                                    //定义一个中间变量来交换两个数
	for (int i = 0; i < 5; i++)
	{
		for (int j = 0; j < 5-i-1; j++)
		{
			if (a[j + 1]<a[j])
			{
				temp = a[j + 1];
				a[j + 1] = a[j];
				a[j] = temp;
			}
		}
	
	}
	cout << "the result is:"<< endl;
	for (int i = 0; i < 5; i++)
	{
		if (i != 4)                          //这个if和else是为了达到数字在一行的效果,并且中间有空格,当然这是我自己的想法,如果你有其他方法也欢迎评论!
		{                                 
			cout << a[i]<<" ";
		}
		else
		{
            cout<< a[i] << endl;
		}
		 
	}
	system("pause");                        //这个少不了大家出学C++都知道,为了让他能一直显示,而不是闪现
	return 0;

}

显示结果如上图,我采用的是升序排序

   冒泡排序就是相邻的两个数进行比较对于本程序而言,只要后面比前面小,则两数进行交换直至比到最后一个数,就会把最大的数沉底,而小的数则会像泡泡一样冒上来,一共会比多少轮呢?外层循环控制总的轮数,有多少数就会比多少轮。内层循环控制的是本轮的比较,其实这算是最简单的一个算法了,细细思考你就能分析清楚它的过程。


   这是博主第一次写,当然也有不少不足的地方,比如排版还不是特别熟练,但希望能对大家有帮助,不足的地方也欢迎在下方评论指正!每次写博客都是一个提升进步的机会,我也会在后续写更多的文章,立下这个flag!
冒泡排序的实现算法(C/C++) 冒泡排序的基本思想是从待排序的元素序列的起始位置开始,依次比较相邻的两个元素,如果它们的顺序不正确,就交换它们的位置。通过这样的比较和交换操作,每一轮遍历都可以将当前未排序元素序列中的最大(或最小)元素"冒泡"到序列的末尾。它通过多次遍历待排序的元素,比较相邻的两个元素大小,并根据需要交换它们的位置,从而将最大(或最小)的元素逐渐“冒泡”到正确的位置。如果当前元素比下一个元素大,则交换它们的位置,从而实现元素的冒泡。最后,我们输出排序前和排序后的数组,以验证排序算法的正确性。,并计算数组的大小。 阅读详情

相关推荐

Xilinx HydraMini试玩教程

HydraMini是Xilinx推出的基于Pynq-Z2开发板的自动驾驶开发小车,其有着简单易学、高灵活性、高扩展性、高性能等优良特性,是研究人员和学生进入自动驾驶领域的一个平台。本教程会通过最基础的讲解和步骤带领读者熟悉这个平台的基本开发流程。

qq_25762163的博客 1773

c++排序算法——冒泡排序(不会的一定要看,超级详细)

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

aliyonghang的博客 1万+

从3D相机数据到三维模型:Halcon实战深度图、亮度图与点云转换全流程

本文详细解析了如何利用Halcon将3D相机采集的深度图、亮度图转换为三维点云模型的完整流程。通过实战案例分享,涵盖数据格式处理、点云生成方法(SDK接口与纯Halcon实现)、三维模型可视化优化等关键技术,帮助工程师解决工业检测中的实际难题,提升三维重建精度与效率。

weixin_42525005的博客 396

排序之冒泡排序(C# C++)

1。

2303_76354097的博客 1983

Tesseract-Ocr踩坑下载以及进行检验

1 OCR,即Optical Character Recognition:光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。下载完成后进行解压找到这两个,然后复制到之前下载Tesseract-Ocr的tessdata文件下。可能会出现报错说chi下载的问题咱们不用管继续ok让它先下载完毕,后续会有下载chi的步骤。四、检验tesseract使用(将以下图片进行下载我这里将以下图片命名为3.png)我这里选的是2024年的版本如果下载不了;4 在安装的时候(找到下载的exe文件,双击)

m0_51428325的博客 1915

liquibase扩展支持达梦数据库

近期项目中需要支持国产数据库,需要liquibase底层支持达梦数据库,记录下操作的详细步骤以便分享。 1.liquibase支持的数据库很多如MySQL, PostgreSQL, Oracle, Sql Server, DB2。但是达梦数据库并不支持,所以需要新建DMDatabase类来适配达梦数据库。达梦语法和Oracle很像所以只需要复制liquibase-core下的Oracle Database做些修改就可了。以下为需要修改的地方 public class DMDatabase extends A

qq_43677719的博客 5472

c++实现冒泡排序

用c++实现冒泡排序 #include<iostream> //包含输入输出头文件 #include<cmath> using namespace std; //指定名字空间 int main() { //主函数 double a[100]; //定义数组,大小100 int N; //元素的实际个数3 int i = 0, j = 0; //循环变量,并进行初始化 cin >> N; //输入元素个数 //-------输入数据-----------

qq_51483774的博客 6449

开源大语言模型GLM-5:从架构解析到部署微调全指南

大语言模型(LLM)作为当前人工智能领域的核心技术,通过海量数据预训练获得强大的语言理解和生成能力。其核心原理基于Transformer架构,通过自注意力机制捕捉长距离依赖关系,在通用语言任务上展现出卓越性能。这一技术价值在于为开发者提供了强大的基座模型,能够通过微调快速适配特定领域需求,显著降低AI应用开发门槛。在实际应用场景中,大模型被广泛用于智能对话、代码生成、内容创作等任务。本文以开源项目GLM-5为例,深入探讨其架构特点,并详细介绍了如何使用LoRA技术进行参数高效微调,以及通过量化优化实现模型在

weixin_28683165的博客 350

C++算法之冒泡排序

C++算法之冒泡排序

qishuiye的博客 1072

Allegro174版本如何关闭模块复用后铜皮自动从动态变成静态操作指导

在用Allegro进行PCB设计的时候,模块复用是使用的十分频繁的操作,当Allegro升级到了174 S034版本的时候,当使用模块复用的功能的时候,模块内的铜皮会自动动静转换,大部分情况是不需要的。版本如何关闭模块复用后铜皮自动从动态变成静态操作指导。如何关闭这个功能,具体操作如下。

weixin_54787054的博客 1259

EtherCAT主站教程3--适配伺服驱动器(模式配置)

目前通用的伺服驱动器的位置模式、速度模式以及其他模式是伺服系统中常见的控制模式,切换这些模式通常需要根据具体的伺服驱动器型号和控制协议(如EtherCAT、CANopen、Modbus等)进行配置。以下是这些模式的概述及切换方法的一般性指导:协议规范中,一共有以下几种模式:其中模式1、3、6对于比较常用,也更容易上手。

weixin_52626887的博客 793

(C++)冒泡排序算法及其优化

冒泡排序是一种非常经典的排序算法,通过相邻两个数之间的比较,调换位置,依次类推,实现代码如下 一般的冒泡排序 #include<iostream> using namespace std; void swap(int* a, int i, int j) { int temp = a[i]; a[i] = a[j]; a[j] = temp; } void print(int a...

若晨 1207

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【排序算法】五、冒泡排序(C/C++)

冒泡排序

枫叶先生的博客 1519

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

冒泡排序算法(c++)

冒泡排序是一种排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。一个水面上一些大泡泡先从水面上浮了上去,接下来是小泡泡。(新手写文章,大佬勿喷)

m0_62610142的博客 187

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

c和python版本冒泡排序算法比较,python调用c(c++)

c语言版冒泡排序 #include <iostream> #include <sstream> #include <string.h> #include <stdio.h> #include <stdlib.h> #include <time.h> using namespace std; void bubble(int *a...

xxuffei的博客 357

冒泡排序算法的各种优化(C/C++)

冒泡排序的优化方式。

weixin_53420268的博客 346

【排序算法】冒泡排序 (Python & C++)

来源:https://www.runoob.com/w3cnote/bubble-sort.html 基本思想: 冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。冒泡排序还有一种优化算法,就是立一个 flag,当在一趟序列遍历中元素没有发生交换,则证明该序列已经有序。 时间

weixin_46062098的博客 251

基本算法-》冒泡排序(c++)实现

冒泡排序算法的运作如下:(从后往前)比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。[1] #include &lt;iostream&gt; using namespace std...

qq_36101436的博客 588

排序算法之冒泡排序(Python-C++)

冒泡排序算法原理: 冒泡排序算法的原理如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 Python代码实现 def sort_buble(sort_list): for i in range(len(sort_list) - 1): sorted =

malucheng521的博客 300

排序算法之冒泡排序(C/C++)

冒泡法排序:时间复杂度O(n*n) 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数 重复以上工作,直到最后排序完成 void bubble_sort(int a[], int n) { int i = 0, j = 0, tmp = 0, exc

一缕阳光的博客 438

【排序算法】冒泡排序进阶版(C++)

冒泡排序是一种基础且常见的排序方法。其主要思路为从前到后遍历数组,一边比较一边向后两两交换,将最值冒泡到最后一位。 然而,在遍历过程中,存在还没有遍历完整个数组就已经排序完成的情况。举个例子,如果需要排序的数组是[1,2,6,3],我们希望将其从小到大排序,在第一轮排序完成之后,数组改变为[1,2,3,6],此时已排序完成,应当及时停止,不再进行之后的排序。针对这种情况,可以使用一个变量记录当前轮次的比较是否有交换发生,若没有,则代表数组已经有序,则停止排序。具体实现代码如下: void bubble_so

qq_39332551的博客 446

《算法导论》5、冒泡排序实现(C++)

这个版本是优化过的版本,flag的作用在于减少比较次数。原因见: 点击打开链接 #include using namespace std; void main() { int a[] = { 5,4,3,2,1,0 }; int temp; int flag = 1; int number = 0; for (int i = 0; i < 6; i++) { if (fl

zcy19941015的博客 377

排序算法之冒泡排序(C/C++)

void BubbleSort(int nArr[], int nLen) { for (int i = 0; i &lt; nLen-1; ++i) { for (int j = 0; j &lt;nLen-1-i; j++) { if (nArr[j]&gt;nArr[j+1]) { int nTemp = nArr[j]; nArr[j] = nArr...

凉风之魅的专栏 318

冒泡排序、选择排序、插入排序 算法实现(C++)

这三种排序方法都是O(N2)的,概念和实现如下。   冒泡排序:通过N-1次对剩余未排序元素中最大(小)元素的上浮来实现排序,上浮过程通过交换相邻元素实现。   template void BubbleSort(ElementType A[], int N) {     ElementType Temp;     for (int i=0; i     {         fo

做一个优雅的程序员 4924

(c++)插入、选择、冒泡排序算法源码(含测试用例)

算法基础 冒泡排序 选择排序 插入排序 c++

执念斩长河 559
下一篇: 100-200之间素数的输出(C语言版)
Python_programer
博客等级 码龄9年 25粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值