Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Cammandos
Заблокирован
#1

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

02.12.2011, 00:40. Просмотров 926. Ответов 10
Метки нет (Все метки)

Есть три типа контейнеров – вектор (vector) и список (list). (Третий последовательный контейнер – двусторонняя очередь (deque а третий он для чего ?

и как его использовать ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2011, 00:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Абстрактные контейнерные типы ? (C++):

Абстрактные типы данных - C++
Реализуйте работу с текстовым файлом, как с однонаправленным списком символов.

Абстрактные типы данных. Струкутра - C++
Задать массив структур каждая из которых содержит данные об автомобиле: название модели, год выпуска, цена, цвет, а также найти в массиве и...

Абстрактные типы данных. Простые уравнения - C++
Реализовать абстрактные типы данных и операции над ними. Простые уравнения. те. вычисления уравнений x+a=c y*b=d z/p=u v-t=o ...

абстрактные типы данных "СТЕК" и "ОЧЕРЕДЬ" - C++
тема:абстрактные типы данных "СТЕК" и "ОЧЕРЕДЬ" Вопросы: 1) разработать программу-клиента,использующую АТД "СТЕК" реализованный на...

Контейнерные классы - C++
Есть некоторое сомнения, помоготи пожалуйста: Если у меня есть например такой код: vector<int> * pmyvec; pmyvec->push_back(3); ...

Контейнерные классы - C++
Добрый вечер! Получил задание на редактирование параграфов из файла. Решил делать через контейнер вида map. Все считывается и выводится,...

10
Сыроежка
Заблокирован
02.12.2011, 00:59 #2
Цитата Сообщение от Cammandos Посмотреть сообщение
Есть три типа контейнеров – вектор (vector) и список (list). (Третий последовательный контейнер – двусторонняя очередь (deque а третий он для чего ?

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

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

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

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

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

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

Контейнерные классы - C++
Помогите пожалуйста, очень срочно!!!!Необходимо исправить программу! Работает не коректно.. Условия: Написать программу...

контейнерные классы - C++
выводит ошибку, как исправить 1&gt;22.cpp(41): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не...

Контейнерные классы C++. - C++
Здраствуйте:)Поскажите пожалуйста по нижеприведенному коду, сама не могу разобраться, хотя смотрела в учебниках и по инету не могу найти...

Контейнерные классы - C++
Собственно что это?:) Если можно, скиньте ссылку, где есть примеры на visual C++ на русском. Спасибо


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru