我想排序一个字符串的足够.最简单的方法是将所有足够的东西放入地图中.为了有效地使用内存,我将后缀作为(str + i)传递,其中str是char*,i是以后缀开头的位置.但是,我发现地图不会对这些东西进行排序.这是一个例子
typedef std::map < char*, int,Comparator> MapType;
MapType data;
// let's declare some initial values to this map
char* bob=(char* )"Bobs score";
char* marty=(char* ) "Martys score";
data.insert(pair<char*,int>(marty+1,15));
data.insert(pair<char*,int>(bob+1,10));
MapType::iterator end = data.end();
for (MapType::iterator it = data.begin(); it != end; ++it) {
std::cout << "Who(key = first): " << it->first;
std::cout << " Score(value = second): " << it->second << '\n';
}
Run Code Online (Sandbox Code Playgroud)
输出是
Who(key = first): obs score Score(value = second): 10
Who(key = first): artys score …