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

Дек в виде массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Матрица C(m;m) состоит из нулей и единиц. Найти в ней номера (индексы) хотя бы одной строки и хотя бы одного столбца http://www.cyberforum.ru/cpp-beginners/thread743904.html
Задание: Матрица C(m;m) состоит из нулей и единиц. Найти в ней номера (индексы) хотя бы одной строки и хотя бы одного столбца, не содержащих единицы, либо сообщить, что таковых нет. Сам не понимаю,...
C++ Телеграфный стиль Как мне создать программу для вывода строки в телеграфном стиле, т.е. чтобы писало символы в строке с задержкой? Заранее спасибо! http://www.cyberforum.ru/cpp-beginners/thread743903.html
C++ вывод на экран номеров рейсов и типов самолетов, вылетающих в пункт назначения, название которого совпало с названием, введенной с клавиатуры.
Доброго вечера! Есть структура(Aeroflot :nazn,tip,numr), я ее вывел на экран, но незнаю как ей отсортировать по возрастанию номера рейса( a1.numr). Потом нужно зделать вывод на экран номеров...
Движки или вспомогательные программы для 2D игры на с++ C++
Ну я как бы новичок подскажите или на уроки киньте ссылки:)
C++ Наследование классов. Конфликт методов http://www.cyberforum.ru/cpp-beginners/thread743889.html
Здравствуйте! Проблема следующая. Написал операции постфиксной и префиксной декрементации и инкрементации счетчика, который находится в базовом классе. Почему то возникает конфликт ( хотя компилятор...
C++ Элементы заданного массива T(k) расположить в обратном порядке: t k,t k-1,.,t2,t1 Элементы заданного массива T(k) расположить в обратном порядке: t k,t k-1,...,t2,t1. Пожалуйста помогите мне, я начинающий мне срочно нужна помощь по этой задаче подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
24.12.2012, 15:43
Цитата Сообщение от Avazart Посмотреть сообщение
Как я помню в деке нет перераспределения памяти, поэтому такой вариант не канает думаю.

Думаю нужно нечто вроде std::vector<T*> где T* указатели на массивы, естественно нужен будет хитрый итератор
Дек — это вообще АТД; вопрос, где взять память, не относится к деку как таковому. Если брать реализацию, то да, вообще циклический буфер не особо подходит из-за этих перемещений, поэтому обычно реализуют (в STL по крайней мере так) именно как развёрнутый список: делается двусвязный список блоков, в каждом из которых хранятся два указателя, массив данных и число занятых элементов в массиве (количество элементов в массиве в идеале такое, чтобы весь блок влез в кеш-линию). Для дека можно число элементов выкинуть из блока и хранить просто два числа: заполненности двух крайних блоков; это потому, что в деке нельзя вставлять в середину, а только по краям, так что неполными могут быть только крайние блоки.

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