如何在 C++ 中用一对整数作为键和整数作为值编写一个向量?
How to write a vector with a pair of ints as key and int as value in c++?
我是编程新手,刚开始学习哈希。
我试图找出 - 就像地图一样 - 我们如何在向量中分配 int
中的 pair
作为键和 int
作为值。
在搜索时,我确实找到了 pair
的 vector
,其中 pair
的 first
元素是键,对的 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
是键,您可能必须提供自定义比较器。
我是编程新手,刚开始学习哈希。
我试图找出 - 就像地图一样 - 我们如何在向量中分配 int
中的 pair
作为键和 int
作为值。
在搜索时,我确实找到了 pair
的 vector
,其中 pair
的 first
元素是键,对的 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
是键,您可能必须提供自定义比较器。