Menu
Coddy logo textTech

Insieme

Lezione 8 di 23 del corso C++ - Libreria standard dei template di Coddy.

In questo capitolo imparerai a conoscere i contenitori associativi e il loro funzionamento. Iniziamo con la struttura dati set. 


Il set di C++ è un tipo di contenitore associativo che memorizza elementi univoci dello stesso tipo in ordine ordinato. Ciò significa che ogni elemento può comparire una sola volta in un set. 

I set vengono usati spesso nella programmazione competitiva quando è necessario memorizzare elementi univoci in ordine senza spendere più tempo e complessità usando altre strutture dati, come gli array, gli algoritmi di ordinamento e la rimozione degli elementi ripetuti.

set<int> mySet = {5, 10, 3, 5};

Implementiamo i set usando il file header #include <set>, oppure possiamo includere tutti i file header come menzionato nelle lezioni precedenti con #include <bits/stdc++.h>

set<int> mySet = {5, 10, 3, 5};

for (int i = mySet.begin(); i != mySet.end(); i++)
	cout << *i << " ";
Output:
3 5 10

Come puoi vedere sopra, abbiamo dichiarato un set con valori iniziali. Abbiamo usato un iteratore che punta al primo elemento, attraversato il set e stampato tutti gli elementi. Possiamo vedere che il set stesso ha rimosso gli elementi ripetuti e li ha anche ordinati, iniziando da quello più piccolo.


Inseriamo elementi nel set usando il metodo insert().

mySet.insert(50);

Inoltre, i valori degli elementi non possono essere modificati una volta aggiunti al set: è possibile solo rimuoverli e aggiungere nuovi elementi.


Metodi di set

MetodoFunzionalità
begin()Restituisce un iteratore che punta al primo elemento del set
end()Restituisce un iteratore che punta all'ultimo elemento del set
size()Restituisce il numero di elementi nel set
empty()Restituisce se il set è vuoto (1) oppure no (0)
count()Restituisce 1 se un elemento è presente nel set e 0 altrimenti
challenge icon

Sfida

Facile

Data una sequenza di 10 numeri in input. Usando un insieme, stampa solo i numeri unici.

 

Input
5
10
1
5
3
5
10
8
6
7
Output
5
10
1
3
8
6
7

Provalo tu

#include <set>
#include <iostream>

using namespace std;

int main()
{
    // Enter your code here

    return 0;
}

Tutte le lezioni di C++ - Libreria standard dei template

Esercitati da solo: Compilatore C++ online