冒泡算法比较简单,原理理解起来也不困难。算法复杂度是O()。空间复杂度是O(n).
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int a[N];
int main() {
int n;
int tmp;
cin >> n;
for (int i = 0; i < n; ++i) {
cin >> a[i];
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n-i-1; j++) {
if (a[j] > a[j+1])
{
tmp = a[j+1];
a[j+1] = a[j];
a[j] = tmp;
}
}
}
for (int i = 0; i < n; ++i) {
cout << a[i] << ' ';
}
}