冒泡排序算法 (C++)

   今天我想分享一个C++编写的冒泡排序算法,其实和C语言的没多大区别,就是有了C++专属的输入输出流方式,希望对初学者有帮助!
//冒泡排序算法
#include
#include
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;

}

冒泡排序算法 (C++)_第1张图片显示结果如上图,我采用的是升序排序

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


   这是博主第一次写,当然也有不少不足的地方,比如排版还不是特别熟练,但希望能对大家有帮助,不足的地方也欢迎在下方评论指正!每次写博客都是一个提升进步的机会,我也会在后续写更多的文章,立下这个flag!

你可能感兴趣的:(算法)