c++ - 将文件转换为列表 C++ 的最快方法

标签 c++ algorithm list binary-search

我有一个充满整数的文件,已排序,我需要将文件的内容放到一个列表中。 该文件看起来像这样:

     1
     4
     45
     150
     245
     365

我知道可以逐行读取和 push_back,但是文件数超过 500 000 行,所以他们是一种快速的方法吗?

目标是查看文件中是否有整数,因此我需要转换为列表,然后进行 binary_search,如果您有更好的主意,我将不胜感激。

最佳答案

要读入列表,您可以使用 std::istreambuf_iterator:

std::ifstream t( "file.txt");
std::list<int> l( ( std::istreambuf_iterator<int>( t)),
                     std::istreambuf_iterator<int>());

关于c++ - 将文件转换为列表 C++ 的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23315590/

相关文章:

c++ - 尝试编译 .dll 时,出现 interface 关键字错误

java - 使用特定顺序对 (Array)List 进行排序

Linux:列出文件名,如果上次修改在日期间隔之间

C++简单链表尝试: don't quite understand what's going on

c++ - 字节数组赋值

c++ - 引用表达式的求值

c++ - Makefile,根据OS修改命令

java - 是先学数据结构和算法还是先学Java?

c++ - STL 的 'partial_sum' 有什么实际用途?

c - C中链表的搜索算法