时间复杂度
最好O(n)
最坏O(n * n)
平均O(n * n)
空间复杂度
O(1)
是否稳定?(相等的值不改变顺序)
是稳定排序
代码
void bubbleSort(int a[],int n)
{
if(n<=1) return ;
bool flag = false;
for(int i =0;i<n;++i)
{
//提前退出冒泡排序循环
flag = false;
for(int j =0;j<n-i-1;++j)
{
if(a[j]>a[j+1])
{
int tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
flag = true;//表示有数据交换
}
}
if(!flag)
break;//表示没有数据交换提前退出
}
}