酷代码 AI
菜单
服务商

C++ 实现仓库闪点裂隙颜色去重并从大到小排序

以下是一个使用 C++ 编写的程序,用于解决从仓库中统计闪点裂隙不同颜色并按数字大小从大到小输出的问题。 ```cpp #include <iostream> #include <vector> #include <algorithm> #include <unordered_set> // 主函数,程序的入口点 int main() { int n; std::cout << "请输入闪点裂隙的数量: "; std::cin >> n; std::vector<int> colors(n); // 用于存储输入的颜色 std::cout << "请依次输入每个闪点裂隙的颜色: "; for (int i = 0; i < n; ++i) { std::cin >> colors[i]; } // 使用无序集合去除重复颜色 std::unordered_set<int> uniqueColors(colors.begin(), colors.end()); // 将去重后的颜色转移到向量中以便排序 std::vector<int> sortedColors(uniqueColors.begin(), uniqueColors.end()); // 对颜色进行从大到小排序 std::sort(sortedColors.begin(), sortedColors.end(), std::greater<int>()); // 输出排序后的不同颜色 std::cout << "去重后按从大到小排序的颜色为: "; for (int color : sortedColors) { std::cout << color << " "; } std::cout << std::endl; return 0; } ``` ### 代码解释: 1. **输入处理**:首先程序会要求用户输入仓库中闪点裂隙的数量 `n`,接着让用户依次输入每个闪点裂隙的颜色,并将这些颜色存储在 `colors` 向量中。 2. **去重操作**:使用 `std::unordered_set` 来存储颜色,由于无序集合的特性,它会自动去除重复的元素,从而得到不同的颜色。 3. **排序操作**:将去重后的颜色从无序集合转移到 `sortedColors` 向量中,然后使用 `std::sort` 函数并结合 `std::greater<int>()` 来进行从大到小的排序。 4. **输出结果**:最后程序将排序好的不同颜色输出。 ######[AI问答 | 521点数解答 | 2026-04-11 19:09:24]

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