Ricerca della mappa C ++

Ricerca della mappa C ++
“Il contenitore associato noto come mappa consente l'archiviazione di elementi in C ++ che deriva dall'interazione di una coppia di valore chiave e mappato dati in una sequenza particolare. Le chiavi pertinenti in un contenitore della mappa sono sempre utilizzate per organizzare correttamente le informazioni. Utilizzando le sue chiavi specifiche, è possibile recuperare i valori di un contenitore della mappa. Per recuperare i dati dal contenitore, abbiamo usato la funzione mappa :: search (), che appare nel file di intestazione .

Map :: Search () è una funzione integrata in C ++ STL (Libreria dei modelli standard) che fornisce un iteratore o un iteratore statico che punta alla posizione nella mappa in cui si trova la chiave. Produce un iteratore o un iteratore statico che fa riferimento alla mappa; Se la chiave non è disponibile nel contenitore, mappa.La funzione end () si chiama."

Vantaggi della funzione Map :: Search () in C++

I benefici di STD :: Map Object includono rapidi ricerche, inclusione e rimozione di azioni che possono essere completate in tempo logaritmico. Il componente Trova, che riceve un riferimento a una chiave, offre la funzione di ricerca. L'iteratore al componente pertinente viene prodotto se la chiave specificata può essere posizionata nell'oggetto STD :: Map. Il precedente iteratore (mappa :: end ()) viene fornito se, sulla mano contraria, la chiave fornita non si trova nel contenitore.

Sintassi di mappa :: Search () funzione in c++

Ecco la sintassi della funzione Map :: Search () in C++.

"O"

Parametri nella funzione Map :: Search () in C++

Specificare la chiave da trovare nei contenitori della mappa è l'unico parametro richiesto che la funzione mappa :: search () consente.

Valore restituito nella funzione Map :: Search () in C++

Il valore calcolato della funzione è un iteratore o un iteratore costante che indica la posizione della chiave nella mappa. Se in qualche modo la chiave è assente dai contenitori della mappa, la funzione restituirà un'iterazione o un'iterazione statica che punta alla mappa.Funzione end ().

Completamento di runtime per componente di ricerca

Trovare componenti in una funzione std :: map search () richiede o (log n) tempo per completare. Poiché esiste una conservazione interna degli articoli come un albero di ricerca binaria di bilanciamento (BST), anche nel peggior scenario, dovrebbe essere O (log n) rispetto a std :: stringa. Al contrario, la complessità del tempo del caso ideale per la ricerca è O (1) perché i componenti vengono mantenuti in una tabella relazionale e la chiave funge da indicatore quando si tenta di cercare in mappe non mozzate.

Esempio 01: utilizzare la funzione mappa :: search () per cercare il componente con un valore chiave fornito in c++

Ecco il seguente frammento di codice; Abbiamo usato la funzione Map :: Search () in C ++ per trovare la chiave in cui si trova. Nel nostro codice, in primo luogo, abbiamo aggiunto il file di intestazione "iostream", che è un flusso di input-output standard per oggetti come CIN, COUT, ecc. Quindi aggiungere il file di intestazione "mappa" che contiene coppie di valore chiave organizzate, in cui ogni chiave è distinta e può essere aggiunta o rimossa solo. Quindi, abbiamo usato "STD spazio nomi" standard nel nostro codice perché più di una variabile, funzione, classe, ecc., Impossibile condividere la stessa identità nel contesto esatto in C++.

#includere
#includere
Utilizzo dello spazio dei nomi std;

È stato quindi fornito il metodo principale (), che è stato creato per iniziare l'esecuzione del codice. Nella funzione principale (), in primo luogo, abbiamo dichiarato una variabile "N" di tipo di dati "intero". Il contenitore "MAP M1" contiene un set di dati organizzato contenente valori chiave e "M1" è un membro dei contenitori associati nella libreria di modelli standard C ++. Tieni presente che le chiavi nel contenitore "mappa" sono esclusive. Di conseguenza, se vengono aggiunti nuovi elementi durante l'utilizzo delle chiavi correnti, non succede nulla. Tuttavia, se le chiavi coincidono, alcune funzioni unici membri nel contenitore "mappa" possono aggiungere nuovi dati alle coppie preesistenti.

Successivamente, "Cout" viene utilizzato per stampare la linea esatta di informazioni scritte in virgolette. Quindi "CIN" viene utilizzato per prendere l'input dall'utente. Quindi la parola chiave "auto" viene utilizzata per trovare l'elemento nel contenitore "M1".

int main ()

int n;
mappa m1 = 1, "ciao",
2, "java",
3, "Python",
4, "Ruby",
5, "react",
6, "Angular",;
Coutn;
elemento automatico = m1.trovare (n);

Dopo la dichiarazione, viene utilizzata la condizione IF-ELSE. Nell'istruzione IF, controlliamo l'elemento se è disponibile in contenitore M1, quindi stampare l'elemento. Se non è nel contenitore "M1", mostra il messaggio di errore che è stato scritto nel "cout".

Se (articolo != M1.FINE())

cout << "Key exists!" << endl << "The Key at index "

altro

cout <<"Key does not exist!" << endl << "Sorry for inconvenience."
<< endl <<"Please try again with correct key index from 1 to 6";

Alla fine della funzione principale (), restituiremo "Exit_success" che indica che il programma viene eseguito correttamente.

restituire exit_success;

Ecco la funzione completa della funzione mappa :: search (), che viene utilizzata per individuare il componente utilizzando il valore della chiave fornita dall'utente.

Dopo aver compilato il programma sopra, mostrerà il seguente messaggio che l'utente deve inserire l'indice chiave che vuole trovare. Gli utenti devono inserire l'indice chiave dall'intervallo da 1 a 6.

Come puoi vedere di seguito, quando l'utente inserisce l'indice di 1 chiave, mostra il messaggio che esiste la "chiave!"E la chiave di Index 1 è" Ciao ".

Se l'utente inserisce la chiave indice sopra l'intervallo da 1 a 6, il compilatore genera il messaggio di errore che "per favore, riprova con la chiave indice corretta da 1 a 6".

Esempio 02: Usa la funzione mappa :: search () per visualizzare tutti i componenti dopo aver scoperto un componente

Facciamo un altro esempio per stampare tutti i componenti di ordine casuale dopo aver scoperto un componente. Per prevenire eventuali problemi durante la compilazione e l'esecuzione del codice, abbiamo incluso "BITS/STDC++.H ”file di intestazione nel codice. La funzione principale () è stata inizializzata dopo che sono state aggiunte la libreria di intestazione e "Spazio nomi". Nella funzione principale (), abbiamo inizializzato il contenitore M1. Quindi i valori vengono inseriti in ordine casuale. Dopo quella dichiarazione "cout" viene utilizzata per stampare l'output, lo stesso scritto tra virgolette. Quindi viene applicata la condizione "per" per trovare la posizione in cui è presente "2" utilizzando la funzione find (). Quindi restituire 0, il che implica che il programma viene eseguito correttamente.

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

Mappa M1;
M1.insert (2, 101);
M1.insert (1, 689);
M1.insert (3, 350);
M1.insert (6, 991);
M1.insert (4, 541);
M1.insert (5, 542);
cout << "Elements from position 2 onward are: "<cout << "KEY\tELEMENT"<per (Auto iterator = M1.Trova (2); iteratore != M1.FINE(); iteratore ++)

cout
restituzione 0;

Ecco l'output del programma compilato:

Conclusione

Questo articolo ha escogitato abbastanza esempi per illustrare il funzionamento della mappa :: Search () Metodo del linguaggio C ++. Abbiamo discusso della mappa :: Search () che lavora in c++. Abbiamo anche discusso dei vantaggi, dei parametri e del valore restituito della funzione Map :: Search (). Alla fine, abbiamo compilato alcuni esempi per aiutare l'utente a cercare il componente con un valore chiave in C++.