如何在 C++ 中用一对整数作为键和整数作为值编写一个向量?

How to write a vector with a pair of ints as key and int as value in c++?

我是编程新手,刚开始学习哈希。
我试图找出 - 就像地图一样 - 我们如何在向量中分配 int 中的 pair 作为键和 int 作为值。

在搜索时,我确实找到了 pairvector,其中 pairfirst 元素是键,对的 second 元素是值,但我需要一种将“pair of int”作为 KEY 并将 int 作为 VALUE 的方法。

我觉得需要这个,因为我需要根据它们的值对 int 中的 pair 进行排序。有什么建议吗?

您可以这样声明 vector 如下:

std::vector<std::pair<std::pair<int,int>, int>> vec;

然后推送元素如下:

vec.push_back(std::make_pair(std::make_pair(1,2), 3));

demo


但是,如果您想查找特定元素,那么我建议使用 std::map 而不是 std::vector。请记住 std::map 将始终排序。但是,由于 std::pair 是键,您可能必须提供自定义比较器。