void BubbleSort(int a[], int arrSize)
{
bool flag = ture;
for(int i = 0; i < arrSize - 1; i++)
{
flag = true;
for(int j = 0; j < arrSize - 1 - i; j++)
{
if(a[j] > a[j + 1])
{
swap(a[j], a[j + 1]);
flag = false;
}
}
for(int i = 0; i < arrSize; i++)
{
cout << a[i] << " ";
}
cout << endl;
if(flag) break;
}
}
时间复杂性:
最好情况(正序排列):O(n)
比较次数:n - 1
交换次数:0
最坏情况(逆序排列):O(n^2)
比较次数:n(n-1)/2
交换次数:3n(n-1)/2
平均情况:O(n^2)
稳定性:稳定