Я сейчас изучаю разные типы итераторов.Я читал, что std::map имеет bidirectional итераторов.И std::set, std::list также имеют этот тип итераторов.Почему они не random access итераторы?Кто-нибудь может мне это объяснить?Спасибо!
std::map
bidirectional
std::set
std::list
random access
Стандартная библиотека C ++ предоставляет итераторы произвольного доступа к типам контейнеров, для которых доступ к произвольному элементу занимает постоянное время, например std::array, std::vector, std::deque.Это связано с тем, что произвольный доступ контейнер - это , один из которых доступен для любого элемента в постоянное время.
std::array
std::vector
std::deque
std::list не является контейнером произвольного доступа: доступ занимает линейное время.std::set также: доступ занимает логарифмическое время.Аналогично std::map.