21xrx.com
2025-04-03 13:35:18 Thursday
文章检索 我的文章 写文章
如何在C++中获取vector中索引为偶数的项
2023-07-08 04:00:03 深夜i     39     0
C++ vector 索引 偶数 获取

在C++中,vector是一个非常常见的数据类型,它可以容纳多个元素,并且可以随时添加或删除元素。当我们需要获取vector中索引为偶数的项时,我们可以采用以下方法:

方法一:使用for循环

这种方法最为简单,我们可以使用for循环遍历整个vector,并判断每个元素的索引是否为偶数,如果是,就将该元素存入一个新的vector中。代码如下:

vector<int> vec1;
vector<int> evenVec;
for(int i = 0; i < vec.size(); i++){
  if(i % 2 == 0){ // 判断索引是否为偶数
    evenVec.push_back(vec[i]);
  }
}

这样,evenVec中就包含了vec中所有索引为偶数的项。

方法二:使用迭代器

C++的vector提供了迭代器(Iterator)的概念,我们也可以利用迭代器来获取vector中索引为偶数的项。代码如下:

vector<int> vec9;
vector<int> evenVec;
for(auto it = vec.begin(); it != vec.end(); it++){
  if((it - vec.begin()) % 2 == 0){ // 判断索引是否为偶数
    evenVec.push_back(*it);
  }
}

同样地,evenVec中就包含了vec中所有索引为偶数的项。

方法三:使用算法函数

C++的STL(Standard Template Library)标准库提供了许多算法函数,其中就包括获取vector中索引为偶数的项的函数。代码如下:

vector<int> vec{1,2,3,4,5,6,7,8,9};
vector<int> evenVec;
copy_if(vec.begin(), vec.end(), back_inserter(evenVec), [](int i){return i % 2 == 0;});

这里使用了copy_if函数,该函数可以将符合条件的元素复制到新的vector中。其中,back_inserter函数表示向vector中插入元素,[]内表示条件,即判断元素是否为偶数。

综上所述,我们可以采用以上三种方法来获取vector中索引为偶数的项,具体方法取决于开发者的个人习惯和代码要求。

  
  

评论区

请求出错了