Temat: C++: Kontener std::map
std::map w C++ jest kontenerem typu mapa, który przechowuje pary klucz-wartość.
Operacje na std::map
-
Wstawianie Elementów Można dodawać nowe pary klucz-wartość za pomocą operatora
[]lub metodyinsert(). Metodainsert()jest preferowana, gdy chcemy mieć kontrolę nad procesem wstawiania i uniknąć nadpisywania istniejących wartości. -
Usuwanie Elementów Metoda
erase()umożliwia usuwanie par klucz-wartość. -
Wyszukiwanie Elementów Można uzyskać dostęp do wartości za pomocą klucza, korzystając z operatora
[]lub metodyfind(). Metodafind()jest używana, gdy potrzebujemy sprawdzić, czy klucz istnieje w mapie. -
Iteracja Po Mapie
std::mappozwala na iterację po parach klucz-wartość przy użyciu iteratorów, co umożliwia przeglądanie lub modyfikowanie wszystkich zawartych w niej elementów.
Przykład Użycia std::map
#include <map>
#include <iostream>
int main() {
// Inicjalizacja mapy z wartościami
std::map<std::string, int> wiekOsob = {
{"Anna", 30},
{"Jan", 25}
};
// Wstawianie nowej pary klucz-wartość
wiekOsob["Marek"] = 45;
// Usuwanie pary klucz-wartość
wiekOsob.erase("Jan");
// Wyszukiwanie i wyświetlanie wartości
std::cout << "Wiek Anny: " << wiekOsob["Anna"] << std::endl;
// Iteracja po mapie i wypisanie par klucz-wartość
for (const auto& para : wiekOsob) {
std::cout << para.first << " ma " << para.second << " lat" << std::endl;
}
return 0;
}
Analiza Kodu:
-
Inicjalizacja mapy Mapa
wiekOsobjest inicjalizowana z dwoma parami klucz-wartość: ("Anna", 30) i ("Jan", 25). -
Wstawianie elementu Do mapy
wiekOsobdodajemy nową parę klucz-wartość ("Marek", 45) za pomocą operatora[]. -
Usuwanie elementu Z mapy
wiekOsobusuwamy parę klucz-wartość z kluczem "Jan" za pomocą metodyerase(). -
Wyszukiwanie elementu Wyszukujemy wartość powiązaną z kluczem "Anna" i wyświetlamy ją na ekranie.
-
Iteracja po mapie Przechodzimy przez wszystkie pary klucz-wartość w mapie
wiekOsobi wypisujemy je na ekranie, używając składni zakresufor.
| Testy przypięte do lekcji | |
|---|---|
| Aby uzyskać dostęp do testów i ćwiczeń interaktywnych - Zaloguj się |