冒泡排序是常用的基本排序算法之一,在这里我记录一下自己重温的冒泡排序算法.
#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
本文介绍了冒泡排序这一基本排序算法,并通过C++代码详细展示了其实现过程。冒泡排序的主要思想是通过不断交换相邻的逆序元素,逐步将待排序序列调整为有序。提供的代码中,使用了两层循环来实现这一过程,时间复杂度为O(N^2)。
1449

被折叠的 条评论
为什么被折叠?



