Funzioni multiset C ++

Funzioni multiset C ++
Il componente multiset della libreria standard C ++ viene utilizzato per l'archiviazione e l'accesso da un set in cui i valori dei componenti coinvolti sono impiegati come valori chiave per organizzare dinamicamente i dati anche se non devono essere univoci. Non è facile modificare manualmente il valore chiave di un elemento in un multiset. Piuttosto, i componenti che hanno nuovi valori dovrebbero essere aggiunti e i vecchi valori dovrebbero essere eliminati dai componenti. I multiset sono contenitori identici per impostare i contenitori. Tengono i valori sotto forma di chiavi in ​​una sequenza particolare, proprio come un set. Gli elementi di un multiset sono specificati come chiavi proprio come i set.

La distinzione principale tra un set e un multiset è che un set ha chiavi separate, ma un multiset consente le chiavi con un valore simile. Gli alberi di ricerca binari sono implementati utilizzando le chiavi multiset. Una volta inclusi gli articoli nel multiset, questi elementi non possono essere modificati; potevano essere solo aggiunti o rimossi. Il file di intestazione per #include contiene un multiset. Gli iteratori possono essere utilizzati per recuperare i componenti del multiset.

Metodi usati su multiset

Ecco i seguenti metodi multiset C ++:

  • Funzione inizia (): dà un iteratore all'articolo iniziale del set.
  • Funzione end (): fornisce un iteratore all'articolo dopo l'elemento finale del set.
  • Funzione di dimensione (): fornisce le informazioni sulle dimensioni del multiset.
  • Funzione insert (): aggiunge un elemento al multiset.
  • Funzione cancella (): rimuove i componenti del multiset.
  • FUNZIONE () FUNZIONE: se si trova l'articolo, questa funzione fornisce un iteratore che si riferisce ad esso; Altrimenti, fornisce un iteratore che si riferisce alla fine del multiset.
  • Clear () Funzione: rimuove tutti gli articoli del multiset.
  • Funzione vuota (): ci informa dello stato del multiset come vuoto o no.

Discutiamo l'uso di queste funzioni.

Esempio 1:

Il metodo C ++ STL incorporato () è specificato nel file di intestazione. L'iteratore restituito da questo metodo indica il primo elemento nel contenitore multiset a cui è correlato. La funzione Begin () si riferisce al componente che è il primo elemento del contenitore in base alla condizione di ordinamento perché i contenitori multiset mantengono gli elementi in ordine crescente.

#includere
Utilizzo dello spazio dei nomi std;
int main ()
int a [] = 22, 34, 51, 83, 68, 50, 96;
multisetcheck (a, a + 7);
cout<<"The elements of the list are: ";
per (auto x = controlla.inizio(); X != Controlla.FINE(); x ++)
cout<< *x << " ";
cout<<"\nFirst element of the list: "<<*(check.begin());
restituzione 0;

Prima di tutto, introduciamo il file di intestazione . Questo file di intestazione è associato all'utilizzo delle funzioni multiset nei programmi C ++. Quindi, utilizziamo lo spazio dei nomi standard come std. Ora, invochiamo il metodo principale (). Qui, inizializziamo un array. Questo array contiene 7 valori diversi. Questi elementi dell'array vengono salvati in una variabile "A". Quindi, utilizziamo la funzione multiset. Qui, passiamo l'array come parametro della funzione. Ora, l'istruzione "Cout" viene utilizzata per mostrare tutti gli elementi dell'elenco richiesto. Applichiamo il ciclo "per". Questo ciclo itera ogni valore dell'elenco fino a quando la condizione non viene soddisfatta.

Utilizziamo i metodi Begin () e End () all'interno del ciclo "per". La funzione Begin () inizia l'elenco da stampare. Mentre la funzione end () termina l'elenco. Successivamente, aumentiamo il valore della variabile loop. Usiamo di nuovo l'istruzione "cout" per stampare il primo valore dell'elenco specificato. Usiamo il metodo Begin () per ottenere il primo valore dell'elenco,. Alla fine, inseriamo il comando "return 0".

Esempio 2:

La funzione end () è una parte integrata di C ++ STL e si trova nel file di intestazione. Questa funzione restituisce un iteratore che punta al contenitore multiset prima della posizione finale. L'articolo che viene dopo l'ultimo elemento in un contenitore multiset è noto come componente precedente. In altre parole, non indica un particolare componente del contenitore multiset. Questo metodo non prende argomenti.

#includere
Utilizzo dello spazio dei nomi std;
int main ()
int v [] = 24, 64, 19, 35, 82, 59, 46;
multisetheck (V, v + 7);
cout<<"The items of the list are: ";
per (auto j = controlla.inizio(); J != Controlla.FINE(); J ++)
cout<< *j << " ";
restituzione 0;

Innanzitutto, il file di intestazione “BITS/STDC++.H ”viene aggiunto. Questa libreria è associata a come vengono utilizzate le funzioni multiset nei programmi C ++. Lo spazio dei nomi standard è ora incluso e indicato come STD. Ora che invochiamo il metodo principale (), eseguiamo gli script nel corpo della funzione. Qui, un array viene inizializzato. Ci sono 7 diversi elementi in questo array. Gli elementi di questi array sono mantenuti nella variabile “V."La funzione multiset viene quindi chiamata. Viene inoltre dichiarato il numero effettivo di elementi nell'array specificato.

Ora, l'intero elenco richiesto viene visualizzato utilizzando l'istruzione "cout". Usiamo il ciclo "per". Questo ciclo ripete ogni valore nell'elenco fino a quando il requisito non viene soddisfatto. Chiamiamo i metodi Begin () e End () nel ciclo "per". L'elenco da visualizzare è avviato dal metodo Begin () ed è completato con l'aiuto della funzione end (). Il valore di "j" è aumentato nell'ultimo segmento del ciclo "per". Utilizziamo ancora una volta la dichiarazione "cout". L'istruzione "return 0" viene eseguita alla fine.

Esempio 3:

Il file di intestazione “BITS/STDC++.h "contiene il metodo Count () integrato della libreria di modelli standard C ++. Con l'aiuto di questa funzione, determiniamo quanti elementi hanno una certa chiave. Questa funzione può essere applicata per contare il numero di volte. Lo stesso articolo viene utilizzato in un multiset perché un multiset può includere molti valori per un particolare membro. In tutto il contenitore, Count () cerca la chiave, quindi restituisce i risultati. Il metodo restituisce 0 se non ci sono elementi che stiamo cercando nel set. Il relativo contenitore multiset deve essere esaminato per un valore del metodo come argomento, che prende.

#includere
Utilizzo dello spazio dei nomi std;
int main ()
int u [] = 78, 23, 56, 78, 91, 16, 78, 62;
multisetcheck (u, u + 8);
cout<<"The values of the list are: ";
per (auto l = controlla.inizio(); l != Controlla.FINE(); L ++)
cout<< *l << " ";
cout<< "\n78 is present: "<cout<< "\n56 is present: "<restituzione 0;

All'inizio, includiamo la biblioteca. Nel passaggio successivo, utilizziamo lo spazio dei nomi predefinito. Il metodo principale () è ora chiamato. Qui, un array viene inizializzato. Otto diversi numeri interi sono specificati in questo array. Questi membri dell'array sono tenuti in una variabile chiamata "U."Successivamente, utilizziamo il metodo multiset. Qui, forniamo l'array come parametro alla funzione multiset. Indichiamo anche il conteggio complessivo degli elementi di quel array. I valori dell'elenco richiesto vengono quindi visualizzati utilizzando l'istruzione "cout". Il ciclo "per" è usato qui. Fino a quando la condizione non viene soddisfatta, questo loop itera attraverso ciascun elemento nell'array.

Usiamo le funzioni di inizio () e end () con il ciclo "per". L'elenco inizia la stampa quando viene utilizzato il metodo iniziale (). Ma l'elenco è terminato con il metodo End (). Il valore di "i" è aumentato all'interno del ciclo "per". Ancora una volta, il comando "cout" viene applicato per stampare la probabilità con cui il numero 78 appare nell'elenco definito. Il metodo "Count ()" è chiamato per trovare la probabilità. Vogliamo anche sapere con quale frequenza esiste il valore "56" nell'elenco. Quindi, usiamo ancora una volta la funzione Count (). Per visualizzare la risposta, utilizziamo l'istruzione "cout". L'istruzione "return 0" viene digitata alla terminazione del codice.

Esempio 4:

Il valore indicato come punto di un parametro viene rimosso dal metodo multiset, cancella (). Eseguire il seguente programma per vedere come esegue il metodo Canase ():

#includere
Utilizzo dello spazio dei nomi std;
int main ()

multisetset;
multiset :: iteratore ITR;
per (int k = 1; k < 20; k++)
impostato.inserire (k);

cout<< "Original set: ";
per (itr = set.inizio();
itr != set.FINE();
++ITR)
cout
<< " << *itr;
cout<< '\n';
ITR = set.inizio();
ITR ++;
impostato.cancella (ITR);
cout<< "Updated set: ";
per (itr = set.inizio();
itr != set.FINE();
++ITR)
cout<< " << *itr;
cout<< '\n';
restituzione 0;

Qui, incorporiamo la biblioteca . Questo file di intestazione si occupa dell'uso delle funzioni multiset. Quindi, utilizziamo lo spazio dei nomi standard. Insieme a questo, chiamiamo la funzione principale (). Utilizziamo la funzione multiset due volte. Per il primo metodo multiset, il set viene passato come attributo. E per il secondo metodo multiset, l'iteratore "ITR" è fornito come argomento.

Inoltre, applichiamo il ciclo "per". Inizializziamo prima una variabile loop. Quindi, il loop itera oltre il valore inferiore a 20. Successivamente, fai un incremento nella variabile loop. Usiamo l'istruzione "cout" per mostrare il set effettivo di elementi. Usiamo di nuovo il loop "per". Qui, chiamiamo il metodo Begin (). Insieme a questo, invochiamo la funzione end (). Applichiamo queste funzioni sul valore dell'iteratore "ITR". Quindi, il valore dell'iteratore è aumentato di 1. Vogliamo rimuovere il secondo valore dal set richiesto, quindi utilizziamo il metodo cancella ().

Successivamente, l'istruzione "Cout" viene applicata per stampare gli elementi del set dopo la rimozione del secondo valore. Per visualizzare gli elementi del set in una sequenza, utilizziamo di nuovo il loop "per". All'interno del ciclo "per", le funzioni di inizio () e fine () vengono impiegate per avviare e interrompere il set. Alla fine, utilizziamo il comando "return 0".

Esempio 5:

In questa illustrazione, inseriamo i valori nel set usando la funzione multiset insert (). Quindi, eliminiamo tutti gli elementi dal set utilizzando il metodo multiset clear ().

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()
multiset A1;
multiset a2;
per (int j = 0; j < 15; j++)
A1.inserire (j + 1);

per (int j = 0; j < 15; j++)
A1.inserire (j + 1);

per (int j = 0; j < 15; j++)
A2.inserisci ((j + 1) * 10);

per (int j = 0; j < 15; j++)
A2.inserisci ((j + 1) * 10);

Set :: iteratoriter;
per (iter = a1.inizio(); iter != A1.FINE(); iter ++)
cout<< * iter<< " ";
cout<< '\n';
per (iter = a2.inizio(); iter != A2.FINE(); iter ++)
cout<< * iter<< " ";
cout<< '\n';

Includiamo due file di intestazione e all'inizio del codice. Insieme a questo, utilizziamo uno spazio dei nomi standard. Quindi, chiamiamo la funzione principale (). Iniziamo a codificare nel corpo della funzione principale (). Innanzitutto, chiamiamo due volte la funzione multiset. Inizializziamo due diverse variabili denominate "A1" e "A2". Quindi, applichiamo il ciclo "per".

Dopo aver inizializzato la variabile loop, applicando la condizione sulla variabile loop e aumentando il valore della variabile loop, utilizziamo il metodo insert () per aggiungere gli elementi. Inoltre, invochiamo la funzione set. Qui, dichiariamo una "iter" variabile per l'iteratore. Aumentiamo il valore del "ITER". Il ciclo "per" viene utilizzato per entrambe le variabili "A1" e "A2", rispettivamente.

A1.Cancella (6);
A2.Cancella (A2.inizio (), a2.trova (12));
cout<< "After removing the element from the required set, now the size will be: " << a1.size() << '\n';
int v = 9;
Se (A1.Trova (V) != A1.FINE())
cout<< "The defined set has: " << v << " values" <altro
cout<< "The defined set does not have: " << v <cout<< "The new values of the set: ";
per (iter = a1.inizio(); iter != A1.FINE(); iter ++)
cout<< * iter<< " ";
cout<< '\n';
A1.chiaro();
Se (A1.vuoto () == true)
cout<< "The set has no element";

restituzione 0;

Inoltre, utilizziamo il metodo cancella (). Successivamente, utilizziamo il metodo Find () per ottenere l'elemento "12" dal set. Usiamo l'istruzione "cout" per mostrare il set dopo aver rimosso l'elemento "6". Quindi, inizializziamo una variabile "V". Chiamiamo le funzioni di Find () e End () all'interno della condizione "if" associata al primo set. Applichiamo la condizione "if" sull'elemento fornito alla funzione find (). Se tale condizione è soddisfatta, "cout" stampa gli elementi del set. Altrimenti, l'istruzione "Cout" stampa il messaggio che mostra che il valore richiesto non è presente nel set.

Ancora una volta, impieghiamo il ciclo "per", inizio () e fine (). Alla fine, applichiamo il metodo Clear () e la condizione "if". Definiamo la condizione nel corpo della condizione "if". Se il set è vuoto, l'istruzione "Cout" mostra il testo "Il set non ha alcun elemento". Dopo tutto ciò, viene inserito il comando "return0".

Conclusione

Innanzitutto, abbiamo parlato di cos'è un multiset C ++. Quindi, abbiamo osservato diverse funzioni C ++ applicate ai multiset. In questo articolo, eseguiamo vari codici che contengono una varietà di metodi multiset. Nella prima illustrazione, abbiamo usato la funzione Begin () e abbiamo dimostrato la sua funzionalità. Un iteratore che si riferisce al primo membro del multiset collegato a questo metodo è il valore di ritorno della funzione. Il secondo esempio ha mostrato come utilizzare la funzione multiset end (). L'output di questo metodo è un iteratore che punta oltre l'ultimo componente del multiset. Il metodo Count () viene utilizzato nella prossima istanza per esaminare ciò che accade nel codice. Questa funzione ammonta a tutti gli interi disponibili e condividono la stessa chiave. Quindi, eseguiamo il programma utilizzando la funzione cancella (). L'elemento viene rimosso dal set usando questo approccio. Per aggiungere l'articolo al set, alla fine abbiamo utilizzato la tecnica insert ().