#创作计划# 排序——冒泡排序
2026-04-08 16:24:55
发布于:浙江
目录 contents
Part 1:什么是冒泡排序?
Part 2:冒泡排序的演示
Part 3:代码编写
Part 4:实战练习
Part 5:总结
接下来就正式开始学习了(go go go)
注:本章的重点会标红
Part 1:什么是冒泡排序?
冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
冒泡排序分为2种:
(1) 正序情况:只需一趟排序,次比较且不移动记录。
(2) 逆序情况:需次比较和记录移动。
但无论如何,冒泡排序总的时间复杂度为,可以看出,
Part 2:冒泡排序的演示
如文字和图,对无序数列{}进行了的冒泡排序:
Step 1:
从数列的最右侧开始,两两进行比较,将较小的数靠左,一轮操作后,数列变为{}.
Step 2:
重复Step 1的操作,.
Part 3:代码编写
#include<bits/stdc++.h>
using namespace std;
int n,a[10000];
int main()
{
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<n;i++){
for(int j=i+1;j<=n;j++){
if(a[i]>a[j]){
swap(a[i],a[j]);
}
}
}
for(int i=1;i<=n;i++){
cout<<a[i]<<" ";
}
return 0;
}
冒泡排序的模版就在上面了(上面只是一种,还有其他方法)
Part 4:实战练习
例题:A21543.【模板】排序
这题也是非常的简单,看过刚才的模板就知道是最经典的冒泡排序
AC code:
#include<bits/stdc++.h>
using namespace std;
int n,a[10000];
int main()
{
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<n;i++){
for(int j=i+1;j<=n;j++){
if(a[i]>a[j]){
swap(a[i],a[j]);
}
}
}
for(int i=1;i<=n;i++){
cout<<a[i]<<" ";
}
return 0;
}
Part 5:总结
1:冒泡排序可以将无序数组从小到大或从大到小排列,时间复杂度为
2:冒泡排序因其时间复杂度高,一般只用于数据少的数组中使用
这里空空如也




















有帮助,赞一个