LINUX.ORG.RU

c++ map<int,?> сортировка

 ,


1

1

Всем привет! Заметил такую штуку, что когда я создаю такой мап map<int,?> например

map<int,string> m;
m[100] = "1";
m[2] = "2";
m[4] = "3";
то по int происходит сортировка, если вывести значения пробежав по итератору, то будет «2» «3» «1» Это нормально?

Да, нормально.

http://www.cplusplus.com/reference/map/map/

In a map, the key values are generally used to sort and uniquely identify the elements, while the mapped values store the content associated to this key.

Там внутри обычно дерево строится, что гарантирует логарифическую сложность доступа и отсортированность.

Norgat ★★★★★
()

блин, чувак, это самая главная фишка std::map! поздравляю, ты её нашёл!

nanoolinux ★★★★
()

сли вывести значения пробежав по итератору, то будет «2» «3» «1» Это нормально?

Да. Есть unordered_map<>

andreyu ★★★★★
()

собственно, как указали выше - map - это дерево

saibogo ★★★★
()

Те кто не читает документацию в следующей жизни будут кодить на COM с утра до вечера.

alex_custov ★★★★★
()

Кстати, удобно получать значение по максимальному и минимальному ключу по .begin() и .rbegin()

i-rinat ★★★★★
()

std::map — это дерево поиска. Почитай где-нибудь про то что это такое.

KblCb ★★★★★
()
Ответ на: комментарий от annulen

И обычно оно красно-черное :)

И сбалансированное, ага. Садись, 4.

Norgat ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.