0 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 25
|
|
1 | |
Как в памяти представляется двусторонняя очередь (deque)?18.05.2012, 22:46. Просмотров 2393. Ответов 14
Метки нет Все метки)
(
Люди пожалуйста помогите разобраться, как в памяти представляется двусторонняя очередь (deque), типа нарисовать таблицу ну память и схематично показать, как эта двусторонняя очередь работает.
0
|
|
18.05.2012, 22:46 | |
Какой объем памяти занимает пустая двусторонняя очередь (deque)? Как представляется моя структура с перечислением в памяти?
Двусторонняя очередь |
|
![]() |
|
18.05.2012, 23:25 | 2 |
1
|
0 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 25
|
|
19.05.2012, 00:35 [ТС] | 3 |
допустим в памяти у нас хранится какое то число, мы можем добавляться и удалять сначала и конца его цифры если у нас дек?если да, то как это делается, не могли бы вы рассказать?
0
|
![]() |
|
19.05.2012, 00:54 | 4 |
Нигде не видил чтоб описывался подобный процес.
Но предпологаю что если в выделенном куске памяти еще есть зарезервированное место (как в векторе) если нет, то выделяется новый кусок и добавляется указатель на него (как в листе).
0
|
0 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 25
|
|
25.05.2012, 14:54 [ТС] | 5 |
я показал преподователю эту картинку двусторонней очереди , он мне говорит, типа что нужно ,чтобы реализовать такую байду?какие переменные, указатели?Люююдиии помогите разобраться
0
|
![]() |
|
25.05.2012, 22:22 | 6 |
Нужно "хранилище" в котором будут храниться указатели на все участки памяти.
Ну а чем может быть это хранище - вопрос. В принципе это может быть тот же vector<T*> или list<T*> в который при необходимости будет добаляться указатель на массив(новый участок памяти) Но тут можно лишь строить догадки... например если участки памяти выделяются разной длины то кроме указателя на массив нужно еще хранить и размер массива. Как оно в действительности реализовано в STL я не встречал.
0
|
19 / 11 / 0
Регистрация: 02.09.2010
Сообщений: 235
|
|
26.05.2012, 04:23 | 7 |
Можно сделать на основе 2-х векторов и абстрактно считать что один увеличивается в одну сторону, а другой в другую. Тогда будет быстрое добавление и удаление элементов в конец и начало.
Только в такой системе возникнут проблемы если в одном из векторов удалятся все элементы и удаление перекинется на другой. В таких случаях их надо балансировать, в идеале чтобы в каждом было поровну элементов.
0
|
![]() |
|
26.05.2012, 04:35 | 8 |
Damaks- это будет не то что нужно так как vector делает перераспределение, а deque- не должен это делать.Из за этого возможно снижение эффективности и невалидность итераторов
Поэтому если и использовать vector то строго постоянного размера
0
|
What a waste!
1588 / 1287 / 173
Регистрация: 21.04.2012
Сообщений: 2,696
|
|
26.05.2012, 14:43 | 11 |
Нельзя вектор, т.к. при добавлении может быть перераспределение памяти и все итераторы\ссылки на остальные элементы станут недействительны. Голосую за список массивов:
list<value_type [page_size]>.
0
|
0 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 25
|
|
30.05.2012, 20:39 [ТС] | 13 |
Знающие люди, пожалуйста помогите понять, что такое двустороняя очередь, простая очередь, списки и двусвязные списки...Я перерыл инет, не могу ничего стоящего найти.В чем отличие простой очереди от списка?В чем отличие очереди от двусторонней очереди?В чем отличие двусторонней очереди от двусвязного списка?или в чем отличие двусторонней очереди от списка? или дайте ссылку на сайт , где все это есть...ато я уже запутался.........
0
|
![]() |
|
30.05.2012, 20:48 | 14 |
Блин что за привычка сразу интернет?
Ведь есть еще и книги...к стати я в той теме указал от куда рисунок вырезал.
0
|
Тематические курсы и обучение профессиям онлайн Профессия Разработчик на C++ (Skillbox) Архитектор ПО (Skillbox) Профессия Тестировщик (Skillbox) |
0 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 25
|
|
30.05.2012, 21:46 [ТС] | 15 |
по этой книге я не могу все разобрать...
0
|
30.05.2012, 21:46 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Дек - двусторонняя очередь Класс двусторонняя очередь
Класс «Дек» (двусторонняя очередь)
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |