冒泡排序法的基本思想就是两两比较把最大的数往后排,就像水中的气泡一样一个个的顶上去。
具体所下面动图所示:
- 最差的时间复杂度为:O( n^2 );
- 平均的时间复杂度为:O( n^2 );
- 最优的空间复杂度:0;
- 最差空间复杂度为:O(n);
- 平均的空间复杂度为:O(1);
- 稳定性:稳定
具体代码如下:
void BubbleSort(int *arr,int n)
{
int i,end=n,t,flag=0;
while(end){
for(i=1;i<end;i++){
if(arr[i-1]>arr[i]){
t=arr[i-1];
arr[i-1]=arr[i];
arr[i]=t;
flag=1;
}
}
if(flag==0){
break;
}
end--;
}
}