map进行排序,支持排序的map

  map进行排序,支持排序的map

  地图中按值排序-泛型排序_yaonb的空间_百度空间

  地图中按值排序-泛型排序模板类型名称T

  内嵌int CMP(T对,int v1,T对int v2)

  {

  返回v1。第二个v2。第二;

  }

  模板类型名T

  inline void SortMapByValue(map T,int mapImgKeyWordsVSM,

  向量对t,int imgVSMVec)

  {

  for (map T,int:iterator curr=mapimgkeywordsvsm。begin();curr!=mapimgkeywordsvsm。end();货币)

  {

  imgvsmvec。push _ back(STD:make _ pair(curr-first,curr-second));

  }

  std:sort(imgVSMVec.begin(),imgVSMVec.end(),cmp T

  }

  //分词

  #包含boostregex.hpp

  #包含boost 算法string.hpp

  void GetVSMVectorMap(const string strVSMTxt,map string,int keyFreMap)

  {

  keyfremap。clear();

  boost:regex表达式(,);

  boost:sre gex _ token _ iterator it(strvsmtxt。begin()、strVSMTxt.end()、expression,-1);

  boost:sre gex _ token _ iterator itEnd;

  而(它!=itEnd)

  {

  string strKeyFreTxt=* it

  boost:trim(strKeyFreTxt);

  如果(!strKeyFreTxt.empty())

  {

  int nkeywordpos=strkeyfretxt。find _ first _ of(:);

  断言(nKeyWordEPos

  string strKeyWord=strkeyfretxt。substr(0,nkeywordpos);

  string str fre=strkeyfrext。substr(nkeywordpos 1);

  int iFre=atol(str fre。c _ str());

  keyfremap。insert(make _ pair(strKeyWord,iFre));

  }

  它;

  }

  返回;

  }

  映射对string,string,int:iterator itSysVSM=mapimgsysvsm。查找(it-first);

map进行排序,支持排序的map