Chinaunix

标题: 请问怎样遍历一个二维数组的map? [打印本页]

作者: 我要思考    时间: 2006-12-09 16:40
标题: 请问怎样遍历一个二维数组的map?


  1. #include <iostream>
  2. #include <map>
  3. #include <string>
  4. using namespace std;

  5. int main()
  6. {
  7.         typedef map<string,map<string,string> > arr;
  8.         arr i;

  9.         i["1"]["select"] = "aaaaaaa";
  10.         i["1"]["total"]  = "2";
  11.         i["2"]["select"] = "bbbbbb";
  12.         i["2"]["total"]  = "24";
  13.        
  14.         for( arr::iterator iter = i.begin(); iter != i.end(); iter++ )
  15.         {
  16.                 cout << "word: " << iter->first << ", count: " << iter->second << endl;
  17.         }
  18.         return 0;
  19. }

复制代码


我这样遍历,编译器报一大堆错误.
能否告诉我正确的遍历二维map的方法
要得到键名和值.
作者: emacsnw    时间: 2006-12-09 16:59
原帖由 我要思考 于 2006-12-9 00:40 发表


  1. #include <iostream>
  2. #include <map>
  3. #include <string>
  4. using namespace std;

  5. int main()
  6. {
  7.         typedef map<string,map<string,string> > arr;
  8.         arr i;

  9.         i ...
复制代码


iter->second.size()
作者: tyc611    时间: 2006-12-09 17:04
for( arr::iterator iter = i.begin(); iter != i.end(); iter++ )
{
        for (map<string, string>::iterator iter2 = (iter->second).begin(); iter2 != (iter->second).end(); iter2++)
                cout<<"Key1: "<<iter->first<<", Key2: "<<iter2->first<<", Value: "<<iter2->second<<endl;
}
作者: 我要思考    时间: 2006-12-09 17:11

  1. #include <iostream>
  2. #include <map>
  3. #include <string>
  4. using namespace std;

  5. int main()
  6. {
  7.         typedef map<string,map<string,string> > arr;
  8.         arr i;

  9.         i["1"]["select"] = "aaaaaaa";
  10.         i["1"]["total"]  = "2";
  11.         i["2"]["select"] = "bbbbbb";
  12.         i["2"]["total"]  = "24";
  13.        
  14.         for( arr::iterator iter = i.begin(); iter < iter->second.size(); iter++ )
  15.         {
  16.                 cout << "word: " << iter->first << ", count: " << iter->second << endl;
  17.         }
  18.         return 0;
  19. }

复制代码


修改成这样了,还是出现一大堆错误,能否给个具体一点的代码提示
作者: 我要思考    时间: 2006-12-09 17:13
谢谢三楼的兄弟,遍历成功




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2