Junior — Middle
რისი სტანდარტული კონტეინერში არის განთავსებული მონაცემთა სტრუქტურა map?
sobes.tech AI
პასუხი AI-სგან
C++ სტანდარტულ ბიბლიოთეკაში, მონაცემთა სტრუქტურა std::map რეალიზებულია წითელი-სამყარო (Red-Black Tree)-ზე. ეს არის ბალანსირებული ბინარული ძიების ხე, რომელიც უზრუნველყოფს ლოგარითმულ დროში ელემენტების ჩაწერას, წაშლას და ძიებას.
C++-ში, std::map არის ასოციაციური კონტეინერი, რომელიც ინახავს წყვილებს — გასაღებს და მნიშვნელობას — სორტირებულ წესში, გასაღების მიხედვით. წითელი-სამყარო ხის დახმარებით, ხე არის ბალანსირებული და ოპერაციები ეფექტურია.
std::map-ის გამოყენების მაგალითი:
#include <iostream>
#include <map>
int main() {
std::map<int, std::string> myMap;
myMap[1] = "ერთი";
myMap[2] = "ორი";
myMap[3] = "სამი";
for (const auto& pair : myMap) {
std::cout << pair.first << ": " << pair.second << std::endl;
}
return 0;
}
ამიტომ, std::map დაფუძნებულია ბალანსირებულ ხეზე, არა ჰეშ-ცხრილზე (ჰეშ-ცხრილებისთვის გამოიყენება std::unordered_map)।