c++中使用std::sort对十一个有重复数据的整型变量进行排序,并获取排序后每个变量对应的变量名
时间: 2024-11-27 20:11:26 浏览: 7
c++08.xcodeproj_结构体变量排序_源码
在 C++ 中,你可以使用 `std::sort` 函数对一组包含重复数据的整型变量进行排序。首先,你需要将这些变量存储在一个容器(如 vector 或数组)中,同时关联它们的名称。一种常见的做法是使用 std::pair 将整数值和一个字符串(代表变量名)组合在一起。这里是一个简单的示例:
```cpp
#include <iostream>
#include <vector>
#include <string>
#include <algorithm> // 包含 sort 函数
// 假设我们有一个 struct 存储变量及其值和名字
struct Variable {
int value;
std::string name;
};
// 定义一个用于比较的辅助函数,这里是按值排序
bool compareVariables(const std::pair<int, std::string>& a, const std::pair<int, std::string>& b) {
return a.first < b.first; // 按照整数值进行升序排序
}
int main() {
std::vector<std::pair<int, std::string>> variables = {
{5, "var1"}, {2, "var3"}, {7, "var5"}, {2, "var4"}, {5, "var2"},
{9, "var6"}, {3, "var7"}, {1, "var8"}, {5, "var1"} // 注意重复的 var1
};
// 对变量按值排序
std::sort(variables.begin(), variables.end(), compareVariables);
// 打印排序后的变量及其对应名称
for (const auto& var : variables) {
std::cout << "Sorted value of " << var.name << ": " << var.first << "\n";
}
阅读全文