酷代码 AI
菜单
服务商

C++实现非负整数序列排序去重

以下是实现该功能的 C++ 代码: ```cpp #include <iostream> #include <algorithm> #include <vector> int main() { int n; std::cin >> n; // 读取序列的个数 std::vector<int> numbers(n); for (int i = 0; i < n; ++i) { std::cin >> numbers[i]; // 读取每个整数 } // 对向量进行排序 std::sort(numbers.begin(), numbers.end()); // 去重 auto last = std::unique(numbers.begin(), numbers.end()); numbers.erase(last, numbers.end()); // 输出结果 for (size_t i = 0; i < numbers.size(); ++i) { if (i > 0) { std::cout << " "; } std::cout << numbers[i]; } std::cout << std::endl; return 0; } ``` ### 代码解释 1. **输入处理**: - 首先读取整数 `n`,表示序列的个数。 - 然后使用 `std::vector` 存储 `n` 个整数。 2. **排序**: - 使用 `std::sort` 函数对 `vector` 中的元素进行排序。 3. **去重**: - 使用 `std::unique` 函数将相邻的重复元素移到 `vector` 的末尾,并返回一个指向新的逻辑末尾的迭代器。 - 使用 `erase` 函数删除 `vector` 中多余的元素。 4. **输出结果**: - 遍历 `vector` 并输出去重后的元素,元素之间用空格分隔。 ######[AI问答 | 415点数解答 | 2026-05-30 20:07:58]

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