1.简介
冒泡排序(Bubble Sort)是一种计算机科学领域的较简单的排序算法。
若文件的初始状态是正序的,一趟扫描即可完成排序。冒泡排序最好的时间复杂度为O(n)。
冒泡排序总的平均时间复杂度为O(n^2)。
2.工作方式
跟相邻的元素进行比较,如果前面的比后面的大,则进行互换。
就按这样的方式一直往后扫描整个数组,然后继续重复搜索这个数组,直到前面的永远比后面的那一个小,整个工作就结束了。
原理图:
3.代码
#include<bits/stdc++.h>
using namespace std;
int s[114514];
int main()
{
int a = 0;
int n;
cin >> n;
for(int i = 1; i <= n; i ++)
{
cin >> s[i];
}
for (int j = 1; j < n; j++)
{
for (int i = 1; i < n - j; i++)
{
if (s[i] > s[i + 1])
{
a = s[i];
s[i] = s[i + 1];
s[i + 1] = a;
}
}
}
for (int i = 1; i <= n; i++)
{
cout << s[i] << endl;
}
return 0;
}