冒泡排序算法 (C++)

   今天我想分享一个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!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值