冒泡排序是常用的基本排序算法之一,在这里我记录一下自己重温的冒泡排序算法.
#include<iostream>
#include<vector>
using namespace std;
vector<int> bubbleSort(vector<int>& num)//这里使用的是复杂度为N2的算法
{
int N = num.size();
for (int i = 0; i < N - 1; ++i)//第一个for循环做的是要排序的次数
{
for (int j = 0; j < N - 1 - i; ++j)//第二层循环是用来进行排序的
{
if (num[j] > num[j + 1])
{
swap(num[j], num[j + 1]);//这里使用swap函数进行交换,开始练习使用swap函数减少代码量
}
}
}
return num;
}
int main()
{
int size = 0;
cin >> size;
vector<int>arr(size);
for (int i = 0; i < size; ++i)
{
cin >> arr[i];
}
arr = bubbleSort(arr);
for (int i = 0; i < size; ++i)
{
if (i != 0)
cout << " ";
cout << arr[i];
}
cout << endl;
return 0;
}
冒泡排序的算法复杂度在N2