Wyszukiwanie mapy C ++

Wyszukiwanie mapy C ++
„Powiązujący kontener znany jako mapa pozwala na przechowywanie elementów w C ++, które wynikają z interakcji pary wartości kluczowej i zmapowanych danych w określonej sekwencji. Odpowiednie klucze w pojemniku mapy są zawsze używane do prawidłowego zorganizowania informacji. Korzystając z jego konkretnych kluczy, można odzyskać wartości kontenera mapy. Aby pobrać dane z kontenera, użyliśmy funkcji MAP :: Search (), która pojawia się w pliku nagłówka .

Map :: Search () to wbudowana funkcja w C ++ STL (standardowa biblioteka szablonów), która zapewnia iterator lub statyczny iterator, który wskazuje lokalizację na mapie, na której znajduje się klucz. Tworzy iterator lub statyczny iterator, który odwołuje się do mapy; Jeśli klucz nie jest dostępny w pojemniku, mapuj.end () funkcja jest wywoływana."

Zalety Map :: Search () Funkcja w C++

Std :: Korzyści Map Obiekt obejmują szybkie wyszukiwanie, włączenie i usuwanie działań, które można wypełnić w czasie logarytmicznym. Komponent Find, który odbiera odniesienie do klucza, oferuje funkcję wyszukiwania. Iterator do odpowiedniego komponentu jest wytwarzany, jeśli określony klawisz może być zlokalizowany w obiekcie STD :: MAP. Poprzedni iterator (MAP :: end ()) jest podany, jeśli, z przeciwnej ręki, dostarczony klucz nie znajduje się w pojemniku.

Składnia MAP :: Funkcja Search () w C++

Oto funkcja składni MAP :: Search () w C++.

"LUB"

Parametry w mapie :: Search () Funkcja w C++

Określenie klucza do znalezienia w kontenerach map jest jedynym wymaganym parametrem, na które pozwala funkcja MAP :: Search ().

Zwrócona wartość na mapie :: Funkcja wyszukiwania () w c++

Wartość obliczoną funkcji jest iterator lub stały iterator, który wskazuje lokalizację klucza na mapie. Jeśli w jakiś sposób klucz jest nieobecny w pojemnikach mapy, funkcja zwróci iterację lub iterację statyczną, która wskazuje na mapę.end () funkcja.

Zakończenie środowiska wykonawczego dla komponentu wyszukiwania

Znalezienie komponentów w funkcji STD :: MAP Search () zajmuje O (log n) Czas na zakończenie. Ponieważ istnieje wewnętrzne przechowywanie przedmiotów jako równoważenie binarnego drzewa wyszukiwania (BST), nawet w najgorszym scenariuszu, powinno być O (log n) w porównaniu do STD :: String. W przeciwieństwie do tego, idealna złożoność czasu w znalezieniu jest O (1), ponieważ komponenty są przechowywane w tabeli relacyjnej, a klucz służy jako wskaźnik podczas próby wyszukiwania w nieporozumieniu.

Przykład 01: Użyj funkcji MAP :: Search (), aby wyszukać komponent z podaną wartością kluczową w C++

Oto następujący fragment kodu; Użyliśmy funkcji MAP :: Search () w C ++, aby znaleźć klucz, w którym się znajduje. W naszym kodzie najpierw dodaliśmy plik nagłówka „iostream”, który jest standardowym strumieniem wejściowym dla obiektów takich jak CIN, Cout itp. Następnie dodaj plik nagłówka „mapy”, który przechowuje zorganizowane pary wartości kluczy, w których każdy klucz jest odrębny i może być tylko dodawany lub usuwany. Następnie w naszym kodzie użyliśmy standardowego „przestrzeni nazw”, ponieważ więcej niż jedna zmienna, funkcja, klasa itp., nie może dzielić tej samej tożsamości w dokładnym kontekście w C++.

#włączać
#włączać
za pomocą przestrzeni nazw Std;

Następnie podano metodę main (), która została utworzona w celu rozpoczęcia wykonywania kodu. W funkcji Main () po pierwsze, zadeklarowaliśmy zmienną „N” typu danych „liczb całkowitą”. Pojemnik „Map M1” zawiera ułożony zestaw danych zawierający wartości kluczowe, a „M1” jest członkiem powiązanych pojemników w bibliotece szablonów standardowych C ++. Pamiętaj, że klucze w pojemniku „mapy” są wyłączne. W rezultacie, jeśli nowe elementy zostaną dodane podczas korzystania z bieżących kluczy, nic się nie dzieje. Jeśli jednak klucze się pokrywają, niektóre unikalne funkcje członka w pojemniku „mapy” mogą dodać nowe dane do wcześniejszych par.

Następnie „Cout” służy do wydrukowania dokładnej linii informacji napisanych w cudzysłowie. Następnie „CIN” jest używany do przyjmowania danych wejściowych od użytkownika. Następnie słowo kluczowe „automatyczne” służy do znalezienia elementu w pojemniku „M1”.

int main ()

int n;
Mapa M1 = 1, „Hello”,
2, „java”,
3, „Python”,
4, „Ruby”,
5, „React”,
6, „Angular”,;
coutn;
Auto Item = M1.znaleźć (n);

Po deklaracji stosuje się warunek IF-ELSE. W instrukcji IF sprawdzamy element, jeśli jest on dostępny w Container M1, a następnie wydrukuj element. Jeśli nie znajduje się w pojemniku „M1”, pokazuje komunikat o błędzie napisany w „Cout”.

if (przedmiot != M1.koniec())

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

w przeciwnym razie

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

Na końcu funkcji main () zwrócimy „exit_success”, która wskazuje, że program jest pomyślnie wykonywany.

return exit_success;

Oto pełna ilustracja funkcji MAP :: Search (), która jest wykorzystywana do zlokalizowania komponentu za pomocą wartości kluczowej dostarczonej przez użytkownika.

Po skompilowaniu powyższego programu pokaże następującą wiadomość, że użytkownik musi wprowadzić kluczowy indeks, który chce znaleźć. Użytkownicy muszą wprowadzić indeks kluczowy z zakresu od 1 do 6.

Jak widać poniżej, gdy użytkownik wejdzie w indeks 1 klucz, pokazuje wiadomość, że „Klucz istnieje!”A kluczem w indeksie 1 jest„ Hello ”.

Jeśli użytkownik wprowadzi klawisz indeksu powyżej zakresu od 1 do 6, wówczas kompilator generuje komunikat o błędzie, że „Proszę, spróbuj ponownie z poprawnym klawiszem indeksu od 1 do 6”.

Przykład 02: Użyj funkcji MAP :: Search (), aby wyświetlić wszystkie komponenty po odkryciu komponentu

Weźmy kolejny przykład, aby wydrukować wszystkie losowe elementy zamówienia po odkryciu komponentu. Aby zapobiec problemom podczas kompilacji i wykonywania kodu, dołączyliśmy „bity/stdc++.H ”plik nagłówka w kodzie. Funkcja main () została zainicjowana po dodaniu biblioteki nagłówka i dodano „przestrzeń nazw nazw”. W funkcji Main () zainicjowaliśmy pojemnik M1. Następnie wartości są wstawiane w losowej kolejności. Po tej instrukcji „Cout” służy do wydrukowania danych wyjściowych, tak samo napisane w cudzysłowie. Następnie stosuje się warunek „dla”, aby znaleźć pozycję, w której występuje „2” za pomocą funkcji Find (). Następnie zwróć 0, co oznacza, że ​​program jest pomyślnie wykonywany.

#włączać
za pomocą przestrzeni nazw Std;
int main ()

Mapa M1;
M1.insert (2, 101);
M1.insert (1, 689);
M1.insert (3, 350);
M1.insert (6, 991);
M1.insert (4, 541);
M1.wstaw (5, 542);
Cout << "Elements from position 2 onward are: "<Cout << "KEY\tELEMENT"<dla (Auto Iterator = M1.znaleźć (2); Iterator != M1.koniec(); iterator ++)

Cout
powrót 0;

Oto wyjście skompilowanego programu:

Wniosek

Ten artykuł zawierał wystarczającą liczbę przykładów, aby zilustrować funkcjonowanie mapy :: Search () Metoda języka C ++. Omówiliśmy mapę :: Search () działający w c++. Omówiliśmy również zalety, parametry i zwróciliśmy wartość funkcji mapy :: Search (). Ostatecznie opracowaliśmy kilka przykładów, aby pomóc użytkownikowi wyszukiwać komponent o kluczowej wartości w C++.