64,685
社区成员
发帖
与我相关
我的任务
分享
typedef struct SongTable_t
{
std::string strCode;
std::string strNamePY;
}SongTable;
typedef std::map<int, std::vector<SongTable *> * > SongServerMap;
现在 SongServerMap 中 已经填充了很多数据
需求:
map集合中的数据,
根据 map 的value:std::vector<SongTable *> * 中的结构体 SongTable的字符串成员strNamePY 降序排序,
之后将集合放到
结构类似 std::map<int, std::vector<SongTable *> * >
这样的集合中
bool operator < (const SongTable_t *lhs,const SongTable_t *rhs)
{
return (lhs->strNamePY < rhs->strNamePY);
}
sort(songList.begin(), songList.end());
bool myLessThanFunc(const SongTable_t *lhs,const SongTable_t *rhs)
{
return (lhs->strNamePY < rhs->strNamePY);
}
sort(songList.begin(), songList.end(), myLessThanFunc);
struct MyLessThanObj
{
bool operator() (const SongTable_t *lhs,const SongTable_t *rhs)
{
return (lhs->strNamePY < rhs->strNamePY);
}
} myLessThanObj;
sort(songList.begin(), songList.end(), myLessThanObj);
typedef struct SongTable_t
{
std::string strCode;
std::string strCodeBak;
std::string strName;
std::string strNamePY;
std::string strType;
int nCate;
std::string strStyle;
std::string strLang;
std::string strSinger;
int nHits;
int nStar;
std::string strPath;
BOOL operator < (const SongTable_t &compare) const
{
return this->strNamePY < compare.strNamePY;
//return this->strCode < compare.strCode;
}
BOOL operator == (const SongTable_t &compare) const
{
return this->strCode == compare.strCode;
}
}SongTable;
vector < SongTable *> songList;
CachedObjects::instance()->GetSongs(&songList, nRoomID);
sort(songList.begin(), songList.end());
songList.erase(unique(songList.begin(), songList.end()), songList.end());