@[幽灵特工](/user/332549) 这个是双重循环。。。冒泡排序是双重循环
by Dimly_dust @ 2020-07-29 12:10:21
以及:``cout << k[i] << endl;``这个是什么。。。
by Dimly_dust @ 2020-07-29 12:10:59
手敲了一遍,不知道有没有错
```
for (int i = 0; i < n; i++)
{
for(int j=0;j<n-i;j++)
if (k[j] > k[j + 1])
{
swp(k[j], k[j + 1]);
s++;
}
}
```
by Dimly_dust @ 2020-07-29 12:12:48
@[Dimly_dust](/user/316896) 这个是我打印中间值用的,忘了注释掉
by 幽灵特工 @ 2020-07-29 12:15:50
@[幽灵特工](/user/332549) 嗯,觉得应该可以过了
by Dimly_dust @ 2020-07-29 12:18:03
@[Dimly_dust](/user/316896) 对输入样例输出了10.。。
by 幽灵特工 @ 2020-07-29 12:22:16
@[幽灵特工](/user/332549) 建议学习冒泡排序,原来您的冒泡排序是O(n)的!
by 二叉苹果树 @ 2020-07-29 12:24:08
@[幽灵特工](/user/332549) j-i还要再减个一
by Dimly_dust @ 2020-07-29 12:26:40
```cpp
#include<bits/stdc++.h>
using namespace std;
int s = 0;
void swp(int &a, int &b)
{
int k = a;
a = b;
b = k;
}
int main()
{
int n;
cin >> n;
int k[10001] = { 9999999 };
for (int i = 0; i < n; i++)
{
cin>>k[i];
}
for (int i=0; i < n; i++)
{
for(int j=0; j<n-i-1; j++)
if (k[j] > k[j + 1])
{
swp(k[j], k[j + 1]);
s++;
}
}
cout << s;
return 0;
}
```
by Dimly_dust @ 2020-07-29 12:27:00
亲测可过
by Dimly_dust @ 2020-07-29 12:29:47