最有效的方法是对包含数百万字符串的文件进行排序?
我知道如何做到这一点,如果它是一个包含数百万个文件的文件。
如果是字符串,如何修改我们的方法? 或任何新的方法?
答案 0 :(得分:-2)
首先将所有文件加载到内存中,然后使用std::sort
您可以这样做:
std::fstream MyFile("MyFile.txt",ios_base::in);
std::vector<std::string>MyStrings;
while(MyFile.eof()==0){
std::stringstream MyBuffer;
MyBuffer<<MyFile;
MyStrings.push_back(MyBuffer.str())
}
std::sort(MyStrings.begin(),MyStrings.end()); //no need for compare function because it exsits for std::string