冒泡算法思想:根据词义就很好理解,相邻的逐个比较上浮,即冒泡。
#include<iostream>
using namespace std;
#define SIZE 8
void Bubble_sort(int arr[], int size)
{
int tmp = 0;
for(int i=0;i<size;++i)
for (int j = i + 1; j < size; ++j)
{
if (arr[i] > arr[j])//由小到大排序,若要改为由大到小将大于改为小于即可
{
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
int main()
{
int num[SIZE] = { 99,45,78,69,32,15,46,88 };
Bubble_sort(num, SIZE);
for (int i = 0; i < SIZE; ++i)
cout << num[i] << ' ';
cout << endl;
return 0;
}
算法复杂度:
最好时间复杂度为O(n)
最坏时间复杂度为 O(n²)
故平均时间复杂度为O(n²)