6, 10, 2, 8, 4 è un insieme; 2, 4, 6, 8, 10 è un insieme degli stessi numeri interi, disposti in ordine crescente. In matematica, un insieme ha elementi univoci (elementi distinti), e cioè nessun elemento si verifica più di una volta. Inoltre, un multiinsieme è un insieme, in cui ogni elemento può verificarsi più di una volta. 6, 6, 10, 2, 2, 8, 4, 4, 4 è un multiinsieme. 2, 2, 4, 4, 4, 6, 6, 8, 10 è lo stesso multiinsieme, ma con gli elementi disposti in ordine crescente. Questo articolo non si occupa di multiset. Si occupa della struttura dati C++ chiamata, set.
Una mappa nel software è come un array, ma è un array con due colonne invece di una. La prima colonna ha le chiavi e la seconda colonna ha i valori. Ogni riga è una coppia, creando una coppia chiave/valore. Una chiave è direttamente correlata al suo valore.
Un esempio di mappa è 'c',30, 'b',20, 'd',30, 'e',40, 'a',10. La prima coppia chiave/valore inserita qui è 'c',3, dove 'c' è la chiave e 30 è il valore. Questa mappa non è ordinata per chiavi. Ordinare questa mappa per chiavi produce 'a',10, 'b',20, 'c',30, 'd',30, 'e',40. Nota che possono esserci valori duplicati, ma non chiavi duplicate. Una mappa ordinata è una mappa ordinata per chiavi.
Un multiset sta a un insieme, come un multimap sta a una mappa. Ciò significa che ci sono mappe con chiavi duplicate. Un esempio di multimappa è 'a',10, 'b',20, 'b',20, 'c',30, 'c',30, 'd ',30, 'e',40. E come detto sopra, questo articolo non si occupa di multimappa, piuttosto, si occupa della struttura dati C++ chiamata, mappa.
In C++, una struttura dati è una struttura con proprietà (membri dati) e metodi (funzioni membro). I dati della struttura sono un elenco; un insieme è una lista; una mappa è un elenco di coppie chiave/valore.
Questo articolo discute le basi degli insiemi e delle mappe in C++ e, per comprendere meglio questo articolo, il lettore dovrebbe avere una conoscenza di base del C++.
Contenuto dell'articolo:
- Classe e i suoi oggetti
- Creare un set o una mappa
- Nozioni di base sull'iteratore
- Accesso agli elementi per set e mappa
- Ordine degli elementi in un insieme o mappa
- Altre funzioni membro comunemente utilizzate
- Conclusione
Classe e suoi oggetti:
In C++, l'insieme, la mappa e altre strutture simili sono chiamate contenitori. Una classe è un'unità generalizzata con membri dati, che sono variabili, e funzioni membro che sono correlate. Quando ai membri dei dati vengono assegnati valori, viene formato un oggetto. Tuttavia, un oggetto viene formato in un processo chiamato istanziazione. Poiché una classe può portare a valori diversi per le stesse variabili membro dei dati, è possibile creare un'istanza di oggetti diversi dalla stessa classe.
In C++, un insieme inutilizzabile è una classe, così come una mappa inutilizzabile. Quando un oggetto viene istanziato dall'insieme inutilizzabile o dalla mappa inutilizzabile, l'oggetto diventa la struttura dati reale. Con le strutture dati set e map, il membro dati principale è una lista. Ebbene, l'insieme e la mappa formano un gruppo di contenitori chiamati contenitori associativi ordinati. Esistono anche il set non ordinato e la mappa non ordinata, ma sfortunatamente non vengono affrontati in questo articolo.
Creazione di un set o di una mappa:
Istanziare un set dalla sua classe set è creare un set; istanziare una mappa dalla sua classe map sta creando una mappa. All'oggetto così creato viene dato un nome a scelta del programmatore.
Per creare un set, il programma dovrebbe iniziare con:
#includere
#includere
usando lo spazio dei nomi std; Nota la direttiva “#include ", che include la libreria set che ha la classe set da cui verranno istanziate le strutture dati set.
Per creare una mappa, il programma dovrebbe iniziare con:
#includere
#includere