How to remove a range elements from a vector in C++

1 Answer

0 votes
#include <iostream>
#include <vector>
 
void printVector(std::vector<int> const &v) {
    for (auto const &n: v) {
        std::cout << n << " ";
    }
}
  
void eraseRange(std::vector<int> &v, int a, int b) {
	auto first = v.cbegin() + a;
	auto last = v.cbegin() + b + 1;

	v.erase(first, last);
}

int main()
{
	std::vector<int> v = { 5, 2, 7, 1, 9, 3, 6, 4 };
	int a = 3, b = 6;

	eraseRange(v, a, b);

	printVector(v);

	return 0;
}

  
  
  
  
/*
run:
  
5 2 7 4 
   
*/

 



answered Apr 10, 2020 by avibootz
...