Modificadores para Vector en C++ STL

Haga clic aquí para el Conjunto 1 de vectores.

Modificadores
1.1 asignar (input_iterator primero, input_iterator último): asigna nuevo contenido al vector y cambia el tamaño
1.2 asigna (size_type n, const value_type g): asigna nuevo contenido al vector y cambia el tamaño

#include <iostream>
#include <vector>
  
using namespace std;
  
int main()
{
    vector <int> g1;
    vector <int> g2;
    vector <int> g3;
  
    g1.assign(5, 10);   // 5 elements with value 10 each
  
    vector <int> :: iterator it;
    it = g1.begin() + 1;
  
    g2.assign(it, g1.end() - 1); // the 3 middle values of g1
  
    int gquiz[] = {1, 2};
    g3.assign(gquiz, gquiz + 2);   // assigning from array
  
    cout << "Size of g1: " << int(g1.size()) << '\n';
    cout << "Size of g2: " << int(g2.size()) << '\n';
    cout << "Size of g3: " << int(g3.size()) << '\n';
    return 0;
}

La salida del programa anterior es:

Size of g1: 5
Size of g2: 3
Size of g3: 2

2. push_back(const value_type g) – Agrega un nuevo elemento ‘g’ al final del vector y aumenta el tamaño del contenedor del vector en 1
3. pop_back() – Elimina el elemento al final del vector, es decir, el último elemento y disminuye el tamaño del contenedor del vector en 1

#include <iostream>
#include <vector>
  
using namespace std;
  
int main()
{
  vector <int> gquiz;
  int sum = 0;
  gquiz.push_back(10);
  gquiz.push_back(20);
  gquiz.push_back(30);
  
  while (!gquiz.empty())
  {
    sum += gquiz.back();
    gquiz.pop_back();
  }
  
  cout << "The sum of the elements of gquiz is :  "
       << sum << '\n';
  
  return 0;
}

La salida del programa anterior es:

The sum of the elements of gquiz is : 60

4.1 insert(const_iterator q, const value_type g) – Agrega el elemento ‘g’ antes del elemento al que hace referencia el iterador ‘q’ y devuelve un iterador que apunta al elemento recién agregado
4.2insert(const_iterator q, size_type n, const value_type g) – Agrega ‘n’ elementos, cada uno con el valor ‘g’ antes del elemento al que actualmente hace referencia el iterador ‘q’ y devuelve un iterador que apunta al primero de los elementos recién agregados
4.3 insert(const_iterator q, InputIterator primero, InputIterator último) – Agrega un rango de elementos que comienza desde el primero hasta el último, los elementos se insertan antes de la posición actualmente referida por ‘q’

#include <iostream>
#include <vector>
  
using namespace std;
  
int main()
{
    vector <int> gquiz1(3, 10);
    vector <int> :: iterator it;
  
    it = gquiz1.begin();
    it = gquiz1.insert(it, 20);
  
    gquiz1.insert(it, 2, 30);
  
    it = gquiz1.begin();
  
    vector <int> gquiz2(2, 40);
    gquiz1.insert(it + 2, gquiz2.begin(), gquiz2.end());
  
    int gq [] = {50, 60, 70};
    gquiz1.insert(gquiz1.begin(), gq, gq + 3);
  
    cout << "gquiz1 contains : ";
    for (it = gquiz1.begin(); it < gquiz1.end(); it++)
        cout << *it << '\t';
  
    return 0;
}

La salida del programa anterior es:

gquiz1 contains : 50    60    70    30    30    
40    40    20    10    10    10

5.1 erase(const_iterator q) – Elimina el elemento referido por ‘q’ y devuelve un iterador al elemento seguido por el elemento eliminado
5.2 erase(const_iterator first, const_iterator last) – Elimina los elementos en el rango del primero al último, con el primero iterador incluido en el rango y el último iterador no incluido, y devuelve un iterador al elemento seguido del último elemento eliminado

#include <iostream>
#include <vector>
using namespace std;
  
int main ()
{
    vector <int> gquiz;
  
    for (int i = 1; i <= 10; i++)
        gquiz.push_back(i * 2);
  
    // erase the 5th element
    gquiz.erase(gquiz.begin() + 4);
  
    // erase the first 5 elements:
    gquiz.erase(gquiz.begin(), gquiz.begin() + 5);
  
    cout << "gquiz contains :";
    for (int i = 0; i < gquiz.size(); ++i)
        cout << gquiz[i] << '\t';
  
    return 0;
}

La salida del programa anterior es:

gquiz contains :14    16    18    20

6. swap(vector q, vector r) – Intercambia el contenido de ‘q’ y ‘r’
7. clear() – Elimina todos los elementos del vector

#include <iostream>
#include <vector>
  
using namespace std;
  
int main()
{
    vector <int> gquiz1;
    vector <int> gquiz2;
    vector <int> :: iterator i;
  
    gquiz1.push_back(10);
    gquiz1.push_back(20);
  
    gquiz2.push_back(30);
    gquiz2.push_back(40);
  
    cout << "Before Swapping, \n"
         <<"Contents of vector gquiz1 : ";
  
    for (i = gquiz1.begin(); i != gquiz1.end(); ++i)
        cout << *i << '\t';
  
    cout << "\nContents of vector gquiz2 : ";
    for (i = gquiz2.begin(); i != gquiz2.end(); ++i)
        cout << *i << '\t';
  
    swap(gquiz1, gquiz2);
  
    cout << "\n\nAfter Swapping, \n";
    cout << "Contents of vector gquiz1 : ";
    for (i = gquiz1.begin(); i != gquiz1.end(); ++i)
        cout << *i << '\t';
  
    cout << "\nContents of vector gquiz2 : ";
    for (i = gquiz2.begin(); i != gquiz2.end(); ++i)
        cout << *i << '\t';
  
    cout << "\n\nNow, we clear() and then add "
         << "an element 1000 to vector gquiz1 : ";
    gquiz1.clear();
    gquiz1.push_back(1000);
    cout << gquiz1.front();
  
    return 0;
}

La salida del programa anterior es:

Before Swapping, 
Contents of vector gquiz1 : 10    20    
Contents of vector gquiz2 : 30    40    

After Swapping, 
Contents of vector gquiz1 : 30    40    
Contents of vector gquiz2 : 10    20    

Now, we clear() and then add an element 1000 to vector gquiz1 : 1000

 
Haga clic aquí para el Juego 3 de Vectores.
 
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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