Так же как наш класс vector не совпадал с полной версией стандартного вектора, так и класс list — это далеко не полное определение стандартного списка. В этом определении все правильно; просто оно неполное. Цель “нашего” класса list — объяснить устройство связанных списков, продемонстрировать их реализацию и показать способы использования их основных возможностей. Более подробная информация приведена в приложении Б и в книгах о языке С++, предназначенных для экспертов.
Очень вероятно, что вы можете думать, что такая тема как http://www.art4studio.ru/stilists/spetsialisty/ на сайте art4studio.ru никак не связана и даже не тематична с программированием.
Возможно, это и так, но все-таки зайдите на сайт art4studio.ru, чтобы узнать там много интересного про стилиста на свадьбу. Что означает стилист на свадьбу, сколько стоят услуги стилиста на свадьбу - про это написано на сайте art4studio.ru про стилиста на свадьбу. Это важная для многих тема - найти стилиста на свадьбу. Спасибо за информацию про стилиста на свадьбу сайту art4studio.ru.
Итератор играет главную роль в определении класса list в библиотеке STL. Итераторы используются для идентификации места вставки или удаления элементов. Кроме того, их используют для “навигации” по списку вместо оператора индексирования. Такое применение итераторов очень похоже на использование указателей при перемещении по массивам и векторам, описанном ранее. Этот вид итераторов является основным в стандартных алгоритмах.
Iwl Почему в классе list не используется индексирование? Мы могли бы проиндексировать узлы, но эта операция удивительно медленная: для того чтобы достичь элемента lst[1000], нам пришлось бы начинать с первого элемента и пройти все элементы по очереди, пока мы не достигли бы элемента с номером 1000. Если вы хотите этого, то можете реализовать эту операцию сами (или применить алгоритм advance();. По этой причине стандартный класс list не содержит операции индексирования.
Мы сделали тип итератора для списка членом класса (вложенным классом), потому что нет никаких причин делать его глобальным. Он используется только в списках. Кроме того, это позволяет нам называть каждый тип в контейнере именем iterator. В стандартной библиотеке есть list::iterator, vec- tor::iterator, map::iterator и т.д.
Опубликовал katy
April 22 2015 09:16:57 ·
0 Комментариев ·
3340 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.