冒泡排序(BubbleSort)
冒泡排序的时间复杂度
O(n2)
基本原理:从左向右扫描数据,选择最大的数据,放在右边
要点:比较相邻的两个数,如果左边的数大于右边的数就进行交换
#include <iostream>
using namespace std;
void BubbleSort(int list[], int n);
int main(){
int a[] = { 2, 4, 6, 8, 0, 1, 3, 5, 7, 9 };
BubbleSort(a, 10);
for (int k = 0; k < 10; k++)
cout << a[k] << " ";
cout << endl;
system("pause");
return 0;
}
void BubbleSort(int list[], int n)
{
//如果n=10,
//i从0到8
for (int i = 0; i < n - 1; i++){
for (int j = 0; j < n - i - 1; j++){
if (list[j]>list[j + 1]){
std::swap(list[j], list[j + 1]);
}
}
}
}
总结:冒泡排序比较简单,几行就可以写一个排序算法,但是算法速度比较慢,所以使用上需要考虑。