// vector.cpp - Plantilla vector
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main( )
{
  vector<int> v(20);       // vector v con 20 elementos
  vector<int>::iterator e; // iterador
  int k = 0;

  for (e = v.begin(); e != v.end(); e++)
    *e = k++;
    
  int nElementos = v.size(); // tamaño
  v.resize(nElementos - 2);  // nuevo tamaño
  
  v.pop_back();      // elimina el último elemento
  e = v.begin();     // referencia al primer elemento
  v.erase(e+3, e+5); // eliminar v[3] y v[4]
  
  int n = 8;
  e = find(v.begin(), v.end(), n);
  if (*e == n)
  {
    v.erase(e);
    cout << "elemento eliminado\n";
  }
  else
    cout << "error: elemento no encontrado\n";

  k = 17;
  v.push_back(k);
  v.insert(v.begin()+3, 2, -1); // insertar 2 elementos desde v[3] con valor -1
  
  v.clear();
  
  for (e = v.begin(); e != v.end(); e++)
    cout << *e << ' ';
  cout << endl;

  vector<int> pila; // vector con 0 elementos
  
  pila.push_back(1);
  pila.push_back(2);
  pila.push_back(3);
  pila.pop_back();

  vector<int> v2; // vector v2 con 0 elementos
  v2 = pila;      // copiar el vector m en v.
                  // v es redimensionado al tamaño de m.
  v2[0] = 10;

  for (e = pila.begin(); e != pila.end(); e++)
    cout << *e << ' ';
  cout << endl;

  for (e = v2.begin(); e != v2.end(); e++)
    cout << *e << ' ';
  cout << endl;

  system("pause");
}

