我试图在 std::string 的 2 个向量之间找到常用词。我想将它们放入按长度排序的排序列表中,然后按字母顺序对每个长度的单词进行排序。我需要使用 stl 函数和仿函数。
我的想法:使用 for_each 遍历第一个向量,对于每个单词,使用仿函数将其与另一个向量进行比较(如果常见,则附加到仿函数中的列表)。那么结果列表中将只有常用词。这是我卡住的地方,我知道如何按字母顺序排序,但是如何按长度对它们进行排序,然后按字母顺序对相同长度的块进行排序?我环顾了stl,但没有找到我需要的东西。或者,我只是想错了。有任何想法吗?
例子:
vec1: "and", "thus", "it", "has", "a", "beginning", "and", "end"
vec2: “和”、“因此”、“星星”、“是”、“开始”、“到”、“下降”、“到”、“他们”、“结束”
结果: “和”、“结束”、“开始”