elementos Borrar en C ++ vector usando vector :: erase ()

C ++ STL vector :: erase () Ejemplo: Aquí, vamos a aprender cómo elementos de borrado en C ++ Vector .

Los vectores son contenedor de secuencias y el trabajo como matrices dinámicas. elementos Vectores almacena en ubicaciones de memoria contiguas es decir en un lineal de secuencia. vector :: erase () es una función incorporada en C ++ utilizado class retirar el elemento específico de vector o la eliminación de la gama de elementos.

Sintaxis:

    VectorName.erase (pos);
VectorName.erase(StartPos, EndPos);

Aquí , VectorName es el nombre del vector utilizado en el momento de la declaración.

Parámetros:

  • Pos : Es la posición de un elemento del vector que quiere eliminar denotado por el iterador.
  • PosInicial : Es el iterador la especificación de un inicio del rango que ser eliminado.
  • EndPos : Es el iterador que apunta a una posición por delante del último elemento que se ha retirado de la gama.

Nota: de borrado (PosInicial, EndPos) especifica el rango que incluye todos los elementos entre StartPosand EndPos , incluyendo el elemento apuntado por StartPosbut no class el señalado por EndPosi . E [PosInicial, EndPos) .

Ejemplo 1: Este ejemplo muestra el funcionamiento básico de vector :: función de borrado ().

#include<iostream>
#include<vector>
using namespace std;
int main ()
{
std::vector<int> MyVector;
// insert into vector
for (int i=1; i<=8; i++) MyVector.push_back(i);
cout << " After elements insertion : ";
for (unsigned i=0; i< MyVector.size(); ++i)
cout << ' ' << MyVector [i];
cout<<endl;
// erase the 3rd element
MyVector.erase (MyVector.begin()+3);
cout << " After removing 3rd element: ";
for (unsigned i=0; i< MyVector.size(); ++i)
cout << ' ' << MyVector [i];
cout<<endl;
// erase the first 3 elements:
MyVector.erase (MyVector.begin(),MyVector.begin()+3);
cout << " After removing first three elements: ";
for (unsigned i=0; i< MyVector.size(); ++i)
cout << ' ' << MyVector [i];
return 0;
}

salida

 After elements insertion :  1 2 3 4 5 6 7 8
After removing 3rd element: 1 2 3 5 6 7 8
After removing first three elements: 5 6 7 8

Ejemplo 2: Números de Erase todo incluso en un vector.

#include <iostream>
#include <vector>
using namespace std;
int main( )
{
vector<int> c;
// inserting in vector
for (int i=1; i<=10; i++) c.push_back(i);
cout<<"Elements in Vector : ";
for (int i=0; i<=9; i++) {
cout << c[i] << " ";
}
cout <<endl;
// Erase all even numbers
for (vector<int>::iterator it = c.begin(); it != c.end(); ) {
// if number is even remove it
if (*it % 2 == 0) {
it = c.erase(it);
} else {
// if number if not even check for next element
++it;
}
}
cout<<"After removing all even numbers : ";
for (vector<int>::iterator it = c.begin(); it != c.end(); it++ ) {
cout << *it << " ";
}
return 0;
}

salida

Elements in Vector : 1 2 3 4 5 6 7 8 9 10
After removing all even numbers : 1 3 5 7 9


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *