使用For循环向向量添加数字

时间:2015-01-08 18:31:38

标签: c++

我想使用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}。

有人能帮助我吗?

2 个答案:

答案 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/