【发布时间】:2014-05-19 02:57:55
【问题描述】:
我有一个:
map<string, map<int,int>>
有没有办法按字母顺序打印此地图的内容,但不区分大小写?例如,让它按以下顺序打印:
A : 1:1, 2:2
a : 3:1
an : 2:1
And : 4:1
and : 3:1
目前,我正在使用以下方式进行打印:
for (auto it = tokens.begin(); it != tokens.end(); ++it){
cout << it->first << " : ";
auto const &internal_map = it->second;
for (auto it2 = internal_map.begin(); it2 != internal_map.end(); ++it2){
if (it2 != internal_map.begin())
cout << " , ";
cout << it2->first << ":" << it2->second;
}
cout << endl;
}
这会打印所有内容,但是,它首先是全部大写,然后是全部小写。例如:
A : 1:1, 2:2
And : 4:1
a : 3:1
an : 2:1
and : 3:1
【问题讨论】:
标签: c++ sorting c++11 map alphabetical