酷代码 AI
菜单
服务商

使用计数排序实现输入数字从小到大排序的 C++ 代码

```cpp #include <iostream> using namespace std; int n, m, a[5001]; int main() { cin >> n; int M = 0; for (int i = 1; i <= n; i++) { cin >> m; // 在下标m处存储m出现的次数 a[m]++; if (m > M) { M = m; } } for (int i = 1; i <= M; i++) { // 如果i出现的次数大于0,那么输出i if (a[i] > 0) { for (int j = 0; j < a[i]; j++) { cout << i; if (i < M || j < a[i] - 1) { cout << " "; } } } } return 0; } ``` ### 代码解释: - 在第一个 `for` 循环中,每次读取一个整数 `m`,将 `a[m]` 的值加 1,这样 `a[m]` 就记录了数字 `m` 出现的次数。通过比较 `m` 和 `M` 的大小,更新 `M` 为输入数字中的最大值。 - 在第二个 `for` 循环中,遍历从 1 到 `M` 的所有数字,对于出现次数大于 0 的数字 `i`,根据其出现次数 `a[i]` 输出相应次数的 `i`,并且保证相邻数字之间用空格分隔。 ######[AI问答 | 391点数解答 | 2026-05-23 20:21:38]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]