C++11 如何在c+中编写一个以一对int为键、int为值的向量+;?
我是编程新手,刚开始学习散列。C++11 如何在c+中编写一个以一对int为键、int为值的向量+;?,c++11,vector,syntax,int,std-pair,C++11,Vector,Syntax,Int,Std Pair,我是编程新手,刚开始学习散列。 我试图找出一个类似于map的方法,我们如何将ints的pair指定为键,将int指定为向量中的值 在搜索过程中,我确实找到了对的向量,其中对的第一个元素是键,第二个元素是值,但我需要一种方法将“对int”作为键,将int作为值 我觉得有必要这样做,因为我需要根据int的对值进行排序。有什么建议吗 您可以声明如下向量: std::vector<std::pair<std::pair<int,int>, int>> vec; 看
我试图找出一个类似于map的方法,我们如何将
int
s的pair
指定为键,将int
指定为向量中的值
在搜索过程中,我确实找到了对的向量,其中对的第一个元素是键,第二个元素是值,但我需要一种方法将“对int
”作为键,将int
作为值
我觉得有必要这样做,因为我需要根据int
的对值进行排序。有什么建议吗 您可以声明如下向量
:
std::vector<std::pair<std::pair<int,int>, int>> vec;
看
但是,如果您想查找特定元素,那么我建议使用std::map
而不是std::vector
。请记住,std::map
将始终进行排序。但是,由于std::pair是一个键,您可能需要提供一个自定义比较器。只需这样做。到底是什么阻止了你?我找不到语法来做这件事。如何将pair作为key,int作为value从map复制到vector,然后根据value对pair和int的向量进行排序。
vec.push_back(std::make_pair(std::make_pair(1,2), 3));