如何在C 中操纵向量

How to manipulate vectors in C++

本文关键字:操纵 向量      更新时间:2023-10-16

我正在尝试操纵C 中的向量中的一组元素。

vector <int> vectorOfValue;
vectorOfValue.push_back(1);
vectorOfValue.push_back(2);
vectorOfValue.push_back(3);
vectorOfValue.push_back(4);
vectorOfValue.push_back(5);
vectorOfValue.push_back(6);
vectorOfValue.push_back(7);
vectorOfValue.push_back(8);
vectorOfValue.push_back(9);
vectorOfValue.push_back(10);

我想知道该程序如何打印出大于3和小于9的值的向量。

这是一个排除异常值的数据集。

如果要使用标准库算法和迭代器,则可以使用std :: copy_if:

#include <algorithm>
#include <iostream>
#include <iterator>
#include <vector>
auto main(int argc, char* argv[]) -> int
{
  std::vector<int> vectorOfValue;
  // code for initialization of vector ..
  std::copy_if(vectorOfValue.begin(), 
               vectorOfValue.end(), 
               std::ostream_iterator<int>(std::cout, "n"), 
               [](const int value) { return value > 3 && value < 9; });
}

使用auto语法而不是使用iterator

for(auto &i : vectorOfValue) {
   if (i > 3 && i < 9) {
      std::cout << i << std::endl;
   }
}