Chinaunix

标题: 出道题目 这个怎么做呢? [打印本页]

作者: newmax123    时间: 2011-07-04 22:07
标题: 出道题目 这个怎么做呢?
typedef std::map <  std::string,    std::map< std::string , std::string>    >   mymap;


std::vector < std::string >  GetAllString ( mymap & mp);


获取 所有 的组合  也就是把 mymap 里面所有的字段组合起来

一共3个 string  做一个完全的组合。


作者: bruceteen    时间: 2011-07-05 08:20
楼主哪一步不会呢?
作者: newmax123    时间: 2011-07-05 12:30
做一个全组合
作者: newmax123    时间: 2011-07-05 12:58
这是我出的一道题目,
作者: lhlkly    时间: 2011-07-05 19:45
本帖最后由 lhlkly 于 2011-07-05 20:01 编辑


  1. void GetAllString ( mymap & mp, vector<string> &result){

  2.         if(mp.empty()) return;

  3.         result.clear();
  4.         string k;
  5.        
  6.         map<string, map<string, string> >::iterator outerit = mp.begin();
  7.         map<string, string>::iterator innerit;
  8.       
  9.         for(;outerit != mp.end(); outerit++){         
  10.                 k = mp->first;
  11.                 for(innerit = mp->second.begin();innerit != mp->second.end();innerit++){
  12.                         k += innerit->first;
  13.                         k += innerit->second;
  14.                  }
  15.                  result.push_back(k);
  16.        }
  17. }        
  18.      
复制代码

作者: newmax123    时间: 2011-07-05 22:20
看了一下  代码写得不错 可惜是错的




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