Array de conjuntos en C++ STL

Una array es una colección de elementos almacenados en ubicaciones de memoria contiguas . Es para almacenar varios artículos del mismo tipo juntos. Esto facilita el acceso a los elementos almacenados en él por la posición de cada elemento.

Los conjuntos son un tipo de contenedor asociativo en el que cada elemento tiene que ser único porque el valor del elemento lo identifica. El valor del elemento no se puede modificar una vez que se agrega al conjunto, aunque es posible eliminar y agregar el valor modificado de ese elemento.

Por lo tanto, una array de conjuntos es una array bidimensional con un número fijo de filas donde cada fila es un conjunto de longitudes variables. Cada índice de array almacena un conjunto que se puede recorrer y acceder mediante iteradores .

Sintaxis:

establecer <tipo_datos> S[tamaño];

Ejemplo:

set< int >S[5], donde S es la array de conjuntos de int de tamaño 5

Inserción en el arreglo de conjuntos: La inserción de elementos en cada conjunto se realiza mediante la función insert() . A continuación se muestra el ejemplo para demostrar la operación de inserción en una array de conjuntos:

C++

// C++ program to demonstrate the
// insertion in the array of sets
#include <bits/stdc++.h>
using namespace std;
#define ROW 4
#define COL 5
  
// Driver Code
int main()
{
    // Declaring array of sets
    set<int> s[ROW];
  
    // Elements to insert
    // in set
    int num = 10;
  
    // Inserting elements
    // into sets
    for (int i = 0; i < ROW; i++) {
        // Insert the column elements
        for (int j = 0; j < COL; j++) {
            s[i].insert(num);
            num += 5;
        }
    }
  
    // Display the array of sets
    for (int i = 0; i < ROW; i++) {
        cout << "Elements at index " << i << ": ";
  
        // Print the array of sets
        for (auto x : s[i])
            cout << x << " ";
  
        cout << endl;
    }
  
    return 0;
}
Producción:

Elements at index 0: 10 15 20 25 30 
Elements at index 1: 35 40 45 50 55 
Elements at index 2: 60 65 70 75 80 
Elements at index 3: 85 90 95 100 105

Eliminación de un elemento en la array de conjuntos: La eliminación de elementos de cada conjunto se realiza mediante la función erase() . A continuación se muestra el ejemplo para demostrar la operación de eliminación en la array de conjuntos:

C++

// C++ program to demonstrate the
// deletion in the array of sets
#include <bits/stdc++.h>
using namespace std;
  
// Defining the length of array
// and number of elements in
// each set
#define ROW 4
#define COL 5
  
// Driver Code
int main()
{
    // Declaring array of sets
    set<int> s[ROW];
    int num = 10;
  
    // Inserting elements in the set
    // at each index of array
    for (int i = 0; i < ROW; i++) {
  
        // insert the column elements
        for (int j = 0; j < COL; j++) {
            s[i].insert(num);
            num += 5;
        }
    }
  
    cout << "Before removal elements are:"
         << endl;
  
    // Display the array of sets
    for (int i = 0; i < ROW; i++) {
        cout << "Elements at index "
             << i << ": ";
        for (auto x : s[i])
            cout << x << " ";
        cout << endl;
    }
  
    // Erase 70 from 3rd set
    s[2].erase(70);
  
    // Erase 55 from 2nd set
    s[1].erase(55);
  
    // Display the array of sets
    // after removal of elements
    cout << endl
         << "After removal elements are:"
         << endl;
  
    for (int i = 0; i < ROW; i++) {
        cout << "Elements at index "
             << i << ": ";
  
        // Print the current set
        for (auto x : s[i])
            cout << x << " ";
  
        cout << endl;
    }
  
    return 0;
}
Producción:

Before removal elements are:
Elements at index 0: 10 15 20 25 30 
Elements at index 1: 35 40 45 50 55 
Elements at index 2: 60 65 70 75 80 
Elements at index 3: 85 90 95 100 105 

After removal elements are:
Elements at index 0: 10 15 20 25 30 
Elements at index 1: 35 40 45 50 
Elements at index 2: 60 65 75 80 
Elements at index 3: 85 90 95 100 105

Recorrido en la array de conjuntos: cada conjunto se recorre desde una array de conjuntos con la ayuda de array[index] y el recorrido en conjuntos se realiza mediante iteradores . A continuación se muestra el programa para ilustrar el recorrido en la array de conjuntos:

C++

// C++ program to demonstrate the
// traversal in the array of sets
#include <bits/stdc++.h>
using namespace std;
#define ROW 2
  
// Driver Code
int main()
{
    // Declaring array of sets
    set<int> s[ROW];
  
    // Inserting elements into sets
    // Insert 10, 15, and 35 in 1st set
    s[0].insert(10);
    s[0].insert(15);
    s[0].insert(35);
  
    // Insert 20 and 30 in 2nd set
    s[1].insert(20);
    s[1].insert(30);
  
    // Traversing of sets s to print
    // elements stored in it
    for (int i = 0; i < ROW; i++) {
        cout << "Elements at index "
             << i << ": ";
  
        // Traversing and printing
        // element  at each column,
        // begin() is the starting
        // iterator, end() is the
        // ending iterator
        for (auto it = s[i].begin();
             it != s[i].end();
             it++) {
  
            // (*it) is used to get the
            // value at iterator is pointing
            cout << *it << ' ';
        }
  
        cout << endl;
    }
  
    return 0;
}
Producción:

Elements at index 0: 10 15 35 
Elements at index 1: 20 30

Publicación traducida automáticamente

Artículo escrito por ramashishkushwaha819 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 *