#cpp #шаблоны_с++ #stl #библиотеки #контейнеры
Я начал изучения библиотеки STL и нашел такой интересный контейнер, как deque, но я не понял, в чем его преимущество, если можно заменить его другими контейнерами из того же STL?
Ответы
Ответ 1
А чем вообще один контейнер отличается от другого? И вообще, все их можно заменить обычным массивом... В конце концов, какая разница, искать ли элемент в контейнере час или пару секунд, или - ну что тут такого страшного, если вставка в начало массива требует перемещения всех его элементов? Или это существенно? Тогда учтите, что дек обеспечивает быструю вставку-удаление с обоих концов контейнера - чего, например, не может обеспечить vector, но при этом быстрое (хотя чуть медленнее, чем у vector) обращение к любому элементу внутри, чего, например, не может обеспечить list. Но при этом он не может обеспечить быстрый поиск, как у set или unordered_set... Ну, а чтобы вам было легче выбирать, какой именно контейнер вам нужен - вот неплохая шпаргалка: Еще одна сводная шпаргалка по функциям контейнеров:
Комментариев нет:
Отправить комментарий