Junior — Middle
Аз чӣ контейнер стандарти барои иҷрои сохтори маълумоти харита истифода мешавад?
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 истифода мешавад).