欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

排序--2--C++--冒泡排序

程序员文章站 2022-07-08 14:44:43
...

排序--2--C++--冒泡排序


冒泡排序:它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。(来自百度)

冒泡排序是稳定排序,因为一样的数字相邻比对后,没有换位置。

时间复杂度:O(n²)

冒泡排序效果图:第一次排序经过相邻的两个数字替换后,能确定最后一个数字,第二次就可以确定倒数第二个,依次类推。

排序--2--C++--冒泡排序

代码如下:i代表总共循环size次,j代表每一轮比对的数。

#include <string>
#include <iostream>
using namespace std;

void maopao_sort(vector<int>& vector1, int size)
{
	for (int i = 0; i < size; i++)
	{
		for (int j = 0; j < size - i-1;j++)
		{
			if (vector1[j] > vector1[j + 1])
			{
				swap(vector1[j], vector1[j + 1]);
			}
		}
	}
}
int main()
{
	
	vector<int> vector1;
	int num;
	int size = 5;
	for (int i = 0; i < size;i++)
	{    cin  >> num;
		vector1.push_back(num);
	}
	maopao_sort(vector1, size);
	for (int i = 0; i < size;i++)
	{
		cout << vector1[i] << " ";
	}
	cout << endl;
	return 0;
}

结果图:

排序--2--C++--冒泡排序

相关标签: C++