21xrx.com
2024-12-22 21:53:06 Sunday
登录
文章检索 我的文章 写文章
如何在C++中获取vector中索引为偶数的项
2023-06-25 16:54:34 深夜i     --     --
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> vec3;

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中索引为偶数的项,具体方法取决于开发者的个人习惯和代码要求。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复