Sobes.tech
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 истифода мешавад).