Форум программистов, компьютерный форум CyberForum.ru

Абстрактные контейнерные типы ? - C++

Восстановить пароль Регистрация
 
Cammandos
Заблокирован
02.12.2011, 00:40     Абстрактные контейнерные типы ? #1
Есть три типа контейнеров – вектор (vector) и список (list). (Третий последовательный контейнер – двусторонняя очередь (deque а третий он для чего ?

и как его использовать ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2011, 00:40     Абстрактные контейнерные типы ?
Посмотрите здесь:

абстрактные типы данных "СТЕК" и "ОЧЕРЕДЬ" C++
C++ Контейнерные классы
Контейнерные классы C++
Контейнерные классы C++. C++
C++ Контейнерные классы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Сыроежка
Заблокирован
02.12.2011, 00:59     Абстрактные контейнерные типы ? #2
Цитата Сообщение от Cammandos Посмотреть сообщение
Есть три типа контейнеров – вектор (vector) и список (list). (Третий последовательный контейнер – двусторонняя очередь (deque а третий он для чего ?

и как его использовать ?
Третий используется тогда, когда надо часто делать вставку в начало или конец контейнера.
Контейнеры выбираются по принципу эффективности операций с ним среди тех операций, которые используются в вашей прикладной программе.
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
02.12.2011, 01:07     Абстрактные контейнерные типы ? #3
А что значит двусторонняя очередь касательно к deque, если он, как и вектор, основан на непрерывной памяти, т.е. можно спокойно обращаться по индексу к памяти.
Bers
Заблокирован
02.12.2011, 01:09     Абстрактные контейнерные типы ? #4
Цитата Сообщение от Chelioss Посмотреть сообщение
если он, как и вектор, основан на непрерывной памяти
он не вектор. И в отличие от вектора не основан на непрерывном блоке памяти.
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
02.12.2011, 01:53     Абстрактные контейнерные типы ? #5
Цитата Сообщение от Bers Посмотреть сообщение
он не вектор. И в отличие от вектора не основан на непрерывном блоке памяти.
А на чем основан? На связанном списке как list?

Добавлено через 6 минут
цитирую Дейтелов:
Шаблон класса vector и шаблон класса deque построены на основе массива. Шаблон класса list реализует структуру данных связанного списка.
Bers
Заблокирован
02.12.2011, 02:46     Абстрактные контейнерные типы ? #6
Цитата Сообщение от Chelioss Посмотреть сообщение
А на чем основан?
на кучке непрерывных блоков памяти.
Сыроежка
Заблокирован
02.12.2011, 02:56     Абстрактные контейнерные типы ? #7
Цитата Сообщение от Chelioss Посмотреть сообщение
А на чем основан? На связанном списке как list?

Добавлено через 6 минут
цитирую Дейтелов:
Дейтел - это художественная литература, так как он старается писать доступным языком для начинающих изучать С++, и там, где детали не важны, может позволить себе очень широкие обобщения.

На самом деле std::deque хранит управляющую последовательность в блоках стандартной длины Доступ к этим блокам происходит через массив-карту указателей на блоки.
Cammandos
Заблокирован
02.12.2011, 13:58  [ТС]     Абстрактные контейнерные типы ? #8
часто делать вставку в начало или конец контейнера. это как ?

покажите пример или ссылку дайте где показано ?
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
02.12.2011, 17:00     Абстрактные контейнерные типы ? #9
Цитата Сообщение от Cammandos Посмотреть сообщение
часто делать вставку в начало или конец контейнера. это как ?

покажите пример или ссылку дайте где показано ?
C++
1
2
3
std::deque< int > deq;
deq.push_back(5);
deq.push_front(1);
Cammandos
Заблокирован
02.12.2011, 21:54  [ТС]     Абстрактные контейнерные типы ? #10
deq ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2011, 19:24     Абстрактные контейнерные типы ?
Еще ссылки по теме:

Абстрактные типы данных C++
Контейнерные классы C++
Абстрактные типы данных. Струкутра C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
03.12.2011, 19:24     Абстрактные контейнерные типы ? #11
Цитата Сообщение от Cammandos Посмотреть сообщение
deq ?
deq - это название объекта типа std::deque< int >.
Yandex
Объявления
03.12.2011, 19:24     Абстрактные контейнерные типы ?
Ответ Создать тему
Опции темы

Текущее время: 08:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru