如何将字符串的多图表排序为值

时间:2015-11-16 14:49:52

标签: c++ sorting

现在我有一个`

 multimap<size_t, <string>> mymap`; 

它存储由单词大小键入的单词。

我希望能够使用key = 5获取所有单词。然后我想用从最低到最高的键值对字符串进行排序。

我如何做到这一点并且是多图表最有效的方式? 我的意思是可以使用不同的容器,我可以用字符串值对它们进行排序,也可以按键值对它们进行分类?

基本上我有一个向量,其中第一个元素不能移动。但是矢量的其余部分应按字母顺序排列。我该怎么做?然后我想要再次排序后组织矢量,按字母顺序使用第一个单词仅在多图中组织它们。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

最有效的方法取决于您将如何使用此容器。 如果您希望在插入/删除字符串时保持字符串排序,那么最有效的方法是std::unordered_map<std::size_t, set<string> >

但是,如果可以收集所有数据然后对所有字符串进行排序,那么最有效的方法是使用std::unordered_map<std::size_t, vector<string> >