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::map
pozwala 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
wiekOsob
jest inicjalizowana z dwoma parami klucz-wartość: ("Anna", 30) i ("Jan", 25). -
Wstawianie elementu Do mapy
wiekOsob
dodajemy nową parę klucz-wartość ("Marek", 45) za pomocą operatora[]
. -
Usuwanie elementu Z mapy
wiekOsob
usuwamy 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
wiekOsob
i 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ę |