排序算法讨论与讲解1.1:冒泡排序
2026-07-22 01:13:48
发布于:浙江
在我们排序算法的第一课,学的100%肯定是冒泡排序,他的思路极其简单
从数组开头开始遍历,判断a[i+1]是否小于a[i],交换。
每进行一次,数组的最后一位将被排好,只需要进行n次,就能完成排序。
代码实现:
#include <bits/stdc++.h>
using namespace std;
void BubbleSort(int a[],int n){
for(int i=0;i<n;i++){
for(int j=0;j<n-i;j++){
if(a[j]>a[j+1])swap(a[j],a[j+1]);
}
}
}
int main(){
int a[10]={5,1,9,8,3,6,2,4,7};
BubbleSort(a,10);
for(int i:a)cout<<a[i]<<" ";
}
输出效果:
0 1 2 3 4 5 6 7 8 9
时间复杂度:
最佳:O(n^2)
平均:O(n^2)
最坏:O(n^2)
空间复杂度:
任何时候:O(1)
PS:冒泡排序是原地排序
稳定性(相等元素位置是否改变):
任何时候:稳定
代码实现难度:简单
这里空空如也

















有帮助,赞一个