C++;是否有类似Python字典的数据结构? 我是C++新手。我使用Python字典存储数据,现在我正在C++上工作。C++也有像Python字典这样的数据结构吗? 我的设想如下:

C++;是否有类似Python字典的数据结构? 我是C++新手。我使用Python字典存储数据,现在我正在C++上工作。C++也有像Python字典这样的数据结构吗? 我的设想如下:,python,c++,data-structures,stl,Python,C++,Data Structures,Stl,我们在网络中有4个流,并为每个流分配一条路由。因此,在python中,我们可以: dictFlowRoute = {"flow1":(1,2,3,4), #flow1 is sent by node 1 to node 4. "flow2":(1,5,3,4), "flow3":(1,2,5,3), "flo

我们在网络中有4个流,并为每个流分配一条路由。因此,在python中,我们可以:

  dictFlowRoute = {"flow1":(1,2,3,4),  #flow1 is sent by node 1 to node 4.
                   "flow2":(1,5,3,4),
                   "flow3":(1,2,5,3),
                   "flow4":(2,3,1,5)}
基于给定的路由(dictFlowRoute),我们可以知道每对节点传输哪些流。例如,“流1”和“流3”通过节点对(1,2)传输。在python中,我们可以生成另一个字典来存储这些数据

dictNodePairwithFlow = { (1,2):("flow1","flow3"),
                         (2,3): ("flow1","flow4"),
                         (3,4): ("flow1","flow2"),
                         (1,5): ("flow2", "flow4"),
                         (5,3): ("flow2","flow3")}

<> P>因此,在C++中,如何呈现Debug流路由,以及如何根据给定DeaveFooWrand?在C++中,我们有两个选项可以从中选择。主要区别在于
std::map
使用了一个实现,而
std::unordered_map
使用了一个实现。正因为如此,
std::unordered_-map
通常比
std::map

就您的情况而言,我将使用
std::unordered_map
进行演示。与Python不同,我们不使用
Key:Value
来初始化映射,而是可以使用
[]
操作符

#include//用于std::无序映射实现。
#包含//用于std::string实现。
...
std::无序的流程图;
dictFlowRoute[“flow1”]={1,2,3,4};
dictFlowRoute[“flow2”]={1,5,3,4};
dictFlowRoute[“flow3”]={1,2,5,3};
dictFlowRoute[“flow4”]={2,3,1,5};
std::无序映射dictNodePairwithFlow;
dictNodePairwithFlow[std::make_pair(1,2)]=std::make_pair(“flow1”、“flow3”);
dictNodePairwithFlow[std::make_pair(2,3)]=std::make_pair(“flow1”、“flow4”);
dictNodePairwithFlow[std::make_pair(3,4)]=std::make_pair(“flow1”、“flow2”);
dictNodePairwithFlow[std::make_pair(1,5)]=std::make_pair(“flow2”、“flow4”);
dictNodePairwithFlow[std::make_pair(5,3)]=std::make_pair(“flow2”、“flow3”);

另外:“/p>”C++也有一个像Python字典这样的数据结构吗?是的:即使它没有,也不难实现。参考文献中,“字典”数据结构的语言不可知名是一个哈希图。Hash Map就是其中的一个实现。还要看看它与std::Map的主要区别在于它的实现——它是一个Hash Map,而

std::Map
通常是一个树。既然你是C++程序员,你就要考虑很多你想优化的东西。它只使用比较。@gerum抱歉我错过了它。谢谢你的指点!