随机整数列表
Random Integer List
如果我有一个由一行空格分隔的整数列表(例如:50 34 1 3423 5 345),那么使它们每个都成为一个单独的整数变量的最佳方法是什么-使用cin
收集整数列表
#include <iostream>
#include <vector>
#include <iterator>
std::vector<int> ints;
std::copy(std::istream_iterator<int>(cin),
std::istream_iterator<int>(),
std::back_inserter(ints));
。如果你真的需要显式逐行读取:
#include <sstream>
#include <iostream>
#include <vector>
#include <iterator>
std::string singleline;
std::istringstream iss; // out of loop for performance
while (std::getline(cin, singleline))
{
iss.str(singleline);
std::copy(std::istream_iterator<int>(iss),
std::istream_iterator<int>(),
std::back_inserter(ints));
}
一个istream_iterator<int>
将重复应用operator>>(int&)
到被引用的流(直到流结束)。默认情况下,这将静默地忽略空白,如果输入操作失败(例如遇到非整数输入),它将抛出异常
back_inserter是一个输出迭代器,可以用于所有支持.push_back
操作的容器类型(如vector
)。实际上STL算法中写的内容类似于
std::vector<int> ints;
while (iss>>myint)
{
ints.push_back(myint);
}
根据她的回答,这里有一些更详细的方法(ahem)。
她使用的算法基本上是在内部完成这个。这个答案主要是为了清晰。
#include <iostream>
#include <vector>
int main()
{
std::vector<int> myInts;
int tmp;
while (std::cin >> tmp) {
myInts.push_back(tmp);
}
// Now `myInts` is a vector containing all the integers
}
生活例子。
查看strtok( )
和atoi( )
的手册页
相关文章:
- 跟随整数索引列表的自定义类迭代器
- 如何在 sqlite3 中的表中添加整数列表
- 在数组中输入 n 个整数的列表,并以类似于钟摆来回移动的方式排列它们. 输入-1 3 2 5 4,输出5 3 1 2 4
- 带有整数的变量参数列表
- 如何优化代码以返回最接近给定整数的数字,但给定列表中不存在?
- 通过在带有 C++ 的列表中添加连续元素来计算新的整数列表
- 使用整数初始化列表初始化长双精度的向量
- 最大数量.给定一个非负整数列表,排列它们以使它们形成最大的数字
- C++:随机数列表:x 个随机整数
- 有效比较整数列表与C++中给定的整数
- 如何在逗号分开列表中解析字段并将其转换为整数
- 输入正整数或负整数列表,以使用开关函数 c++ 确定数字是偶数还是奇数
- 使用包含每个重复数量的列表生成重复,上升整数的顺序,并用推力
- 如何使用整数列表在LLVM中初始化整数数组
- 如何扩展类模板整数列表
- 如何生成升序随机整数列表
- 从文本文件将整数读入简单的链表中.然后对整数列表进行气泡排序并读出到另一个文件
- 填充整数列表比填充整数向量快 100 倍
- C 98中整数集列表的初始化
- 在 C++ 提升 Python 列表中附加整数的错误