按字符串长度排序单词

时间:2015-07-04 15:52:16

标签: c++ fstream words

我在.txt文件中有一个单词列表:

list
of
a
thousand
words

我希望单词按长度顺序排序,ofstream结果为.txt文件。

输出字将如下:

a
of
list
words
thousand

任何答案都将不胜感激。

1 个答案:

答案 0 :(得分:0)

我不想用勺子喂你,但同时你通过查看代码来学习很多东西。以下示例使用vector作为主容器,sort函数与lambda一起使用,从最低到最高排序。

std::vector<std::string> myList;

myList.push_back("why");
myList.push_back("am i");
myList.push_back("helping you with");
myList.push_back("your");
myList.push_back("homework");

std::sort(myList.begin(),myList.end(),[](const std::string& val1, const std::string& val2){
    return val1.size() < val2.size();
});

for (auto& itm : myList)
{
    std::cout << itm << std::endl;
}