我想使用for循环将数字1到10添加到空向量。所以我知道它应该是这样的:
for (int i = 1; i <=10 ; i++){
//some code that adds 1 - 10 to a vector
}
代码运行后,我应该得到一个如下所示的向量:{1,2,3,4,5,6,7,8,9,10}。
有人能帮助我吗?
答案 0 :(得分:3)
const int N = 10;
std::vector<int> v;
v.reserve( N );
for ( int i = 1; i <= N; i++ ) v.push_back( i );
或者
const int N = 10;
std::vector<int> v( N );
int i = 1;
for ( int &x : v ) x = i++;
或
#include <numeric>
//...
const int N = 10;
std::vector<int> v( N );
std::iota( v.begin(), v.end(), 1 );
或者
#include <algorithm>
//...
const int N = 10;
std::vector<int> v( N );
int i = 1;
std::for_each( v.begin(), v.end(), [&i]( int &x ) { x = i++; } );
或者
#include <algorithm>
#include <iterator>
//...
const int N = 10;
std::vector<int> v;
v.reserve( N );
int i = 1;
std::generate_n( std::back_inserter( v ), N, [&i] { return i++; } );
所有这些方法都用于循环
答案 1 :(得分:0)
你可以通过简单地按向量中的值来做到这一点..因为向量具有push_back属性以在其中添加值。
#include <iostream>
#include <vector>
int main ()
{
std::vector<int> myvector;
for(int i=1 ; i<=10 ;i++)
myvector.push_back(i);
return 0;
}
然后,载体将包含:{1,2,3,4,5,6,7,8,9,10}
了解更多信息您可以阅读此参考文献:http://www.cplusplus.com/reference/vector/vector/push_back/