map与vector嵌套使用

 1 #include <string>   
 2 #include <iostream>   
 3 #include <algorithm>   
 4 #include <map>   
 5 #include <vector>   
 6 using namespace std;
 7 typedef map<string,string> STRING2STRING;
 8 typedef map<string,vector<string>> STRING2VECTOR;
 9 
10 int main()
11 {
12     map<string,string> map_test;
13     map_test.insert(STRING2STRING::value_type("2001","test1"));
14     map_test.insert(STRING2STRING::value_type("2002","test2"));
15     map_test.insert(STRING2STRING::value_type("2003","test3"));
16     map_test.insert(STRING2STRING::value_type("2004","test4"));
17     map_test.insert(STRING2STRING::value_type("2005","test5"));
18     
19     map<string,string>::const_iterator map_conitor=map_test.begin();
20     while(map_conitor!=map_test.end())
21     {
22         cout<<map_conitor->first<<" "<<map_conitor-second<<endl;
23         map_conitor++;
24     }
25     vector<string> vec1;
26     vec1.push_back("test1_vector1");
27     vec1.push_back("test1_vector2");
28     vec1.push_back("test1_vector3");
29     vec1.push_back("test1_vector4");
30     vector<string> vec2;
31     vec2.push_back("test2_vector1");
32     vec2.push_back("test2_vector2");
33     vec2.push_back("test2_vector3");
34     vec2.push_back("test2_vector4");
35     
36     map<string,vector<string>> testMap;
37     testMap.insert(STRING2VECTOR::value_type("10001",vec1));
38     testMap.insert(STRING2VECTOR::value_type("10002",vec2));
39     
40     map<string,vector<string>>::iterator map_it=testMap.begin();
41     while(map_it!=testMap.end())
42     {
43         cout<<map_it->first<<"/t";
44         vector<string>::iterator mapvec_itor=map_it-second.begin();
45         for ( ; mapvec_itor !=  map_it->second.end(); mapvec_itor++)   
46         {   
47             cout<<(*mapvec_itor)<<" ";   
48         }   
49         cout<<endl;   
50     }
51     map<string,vector<string> >::iterator iter=testMap.find( "10002" );   
52     if(iter!=testMap.end()) 
53     {   
54         vector<string>::iterator it = iter->second.begin();   
55         while(it != iter->second.end())   
56         {   
57             cout<<(*it++)<<endl;   
58         }   
59     }   
60     return 0;   
61 }  

 

posted @ 2017-11-29 21:47  娇渣  阅读(2239)  评论(0编辑  收藏  举报