WA,求助

P1116 车厢重组

@[幽灵特工](/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


| 下一页