erase the numbers 2 through 5 in v1 : vector erase « vector « C++ Tutorial






#include <vector>
#include <algorithm>
#include <iterator>
#include <iostream>
using namespace std;

void printVector(const vector<int>& v){
  copy(v.begin(), v.end(), ostream_iterator<int>(cout, " "));
  cout << endl;
}

int main(int argc, char** argv){
  vector<int> v1, v2;
  int i;

  v1.push_back(1);
  v1.push_back(2);
  v1.push_back(3);
  v1.push_back(5);

  v1.insert(v1.begin() + 3, 4);

  // Add elements 6 through 10 to v2
  for (i = 6; i <= 10; i++) {
    v2.push_back(i);
  }

  printVector(v1);
  printVector(v2);

  // add all the elements from v2 to the end of v1
  v1.insert(v1.end(), v2.begin(), v2.end());

  printVector(v1);

  // erase the numbers 2 through 5 in v1
  v1.erase(v1.begin() + 1, v1.begin() + 5);

  printVector(v1);
  printVector(v2);

  return (0);
}








16.13.vector erase
16.13.1.Remove(delete) all elements in the vector
16.13.2.Erase first element
16.13.3.erase the numbers 2 through 5 in v1
16.13.4.insert and erase.
16.13.5.Use unique_copy to remove duplicate words
16.13.6.Erase adjacent duplicates
16.13.7.Erase all value in a vector more than three standard deviations greater than the mean
16.13.8.Erase all value in a vector more than three standard deviations less than the mean with erase() remove_if() and bind2nd