Вопросы по теме 'deque'

Уничтожить дек с помощью указателей и освободить в C
Я пытаюсь уничтожить свою двухстороннюю очередь, но почему-то не справляюсь с указателями. Я написал следующий код (двухсторонняя очередь - указатель на указатель, который указывает на первый элемент двухсторонней очереди). DequeItem - это структуры...
1400 просмотров
schedule 10.09.2021

Установите deque max_size до максимального размера
Насколько я понимаю, deque - это циклический буфер, и когда в нем заканчивается место, он выделяет новое пространство (если может). Есть ли способ ограничить рост двухсторонней очереди? Или единственный способ убедиться, что он не превышает...
3131 просмотров
schedule 01.12.2021

Как вставить в набор и дека
У меня есть функция C ++, которой необходимо вставить ряд последовательных целых чисел в набор и для каждого нового элемента набора в конце удаления из очереди в том же порядке, что и итерация. Ниже приведено решение, которое составляет примерно O...
742 просмотров
schedule 10.10.2021

Разница в размере между std :: vector и std :: deque
Сразу после объявления vector<int> и deque<int> , если я распечатаю sizeof на обоих из них, std::vector будет иметь 12 байтов (я предполагаю, что начало, конец и размер), а deque - 40 байтов. Откуда берутся эти лишние байты? Я...
444 просмотров
schedule 28.11.2021

Почему двухсторонняя очередь STL не реализована как просто круговой вектор?
Я всегда думал, что в стандартной библиотеке шаблонов C ++ (STL) двусторонняя очередь (deque) представляет собой массив переменных размера (например, вектор) с круговыми граничными условиями, что означает, что есть указатель головы i и указатель...
1994 просмотров
schedule 12.09.2021

Почему так медленно перебирать большой std :: list?
Как следует из названия, у меня были проблемы с моей программой, в которой я использовал std :: list в качестве стека, а также для перебора всех элементов списка. Программа затянулась, когда списки стали очень большими. Есть ли у кого-нибудь...
6905 просмотров
schedule 17.01.2022

Python: существует ли поточно-безопасная версия очереди?
У меня есть многопоточная программа, состоящая из класса Consumer и класса Producer . В настоящее время я использую Fifo queue.Queue в реализации, где производитель put с данными в конце очереди, а потребитель get с ними. Тем не менее, я...
687 просмотров

Доступ к очереди STL по индексу равен O (1)?
Я читал, что доступ к элементам по индексу позиции может быть выполнен за постоянное время в очереди STL. Насколько мне известно, элементы в двухсторонней очереди могут храниться в нескольких несмежных местах, что исключает безопасный доступ с...
13631 просмотров
schedule 11.03.2022

Реализация C++ std::deque: почему бы не использовать циклический буфер?
Я провел поиск по реализации deque. Согласно этот пост , deque использует вектор векторов. Я знаю, что нажатие в начале и в конце должно быть как в постоянное время, так и в произвольном доступе. Я думаю, что кольцевой буфер отвечает всем этим...
10009 просмотров
schedule 26.03.2022

Итератор Deque не разыменовывается
Итак, я пытался вводить и выводить файлы, чтобы сохранить колоды Yugioh, и у меня это в основном работало. Я использую deques для хранения объекта класса, известного как Card, который содержит всю информацию, и класса Deck для хранения deques для...
620 просмотров
schedule 28.03.2022

Deque remove не вызывает исключение ConcurrentModificationException
Класс Deque в Javadoc говорит: Итераторы, возвращаемые методом итератора этого класса, являются отказоустойчивыми: если двухсторонняя очередь изменяется в любое время после создания итератора любым способом, кроме как с помощью собственного...
498 просмотров
schedule 18.04.2022

Структура данных, подобная деку, с быстрым поиском и удалением в произвольных местах.
Я ищу структуру данных, которая может решить следующий вариант использования: Значения вставляются сзади Размер отдельных значений составляет несколько десятков байт. Значения естественным образом упорядочиваются в порядке возрастания по...
467 просмотров
schedule 03.05.2022

C++: как правильно передать переменную, возвращаемую deque::front(), из функции?
Я работаю над многопоточной программой, в которой "std::deque‹ MyObject > myBuffer" используется в качестве буфера FIFO, поток-производитель постоянно добавляет пользовательские объекты в конец очереди с помощью push_back(), а поток-потребитель...
669 просмотров
schedule 10.05.2022

Почему ArrayDeque лучше, чем LinkedList
Я пытаюсь понять, почему Java ArrayDeque лучше, чем Java LinkedList , поскольку они оба реализуют интерфейс Deque. Я почти не вижу, чтобы кто-то использовал в своем коде ArrayDeque. Если кто-то проливает больше света на то, как реализован...
86415 просмотров
schedule 14.05.2022

Деки на основе массива: почему AddFront/RemoveFront O(1)?
Почему с двухъядерной очередью на основе массива добавление и удаление спереди амортизируется O (1)? Для меня имело бы смысл, что это всегда будет O (n), потому что любая операция будет означать, что текущие значения массива должны быть «перемещены»...
227 просмотров
schedule 14.06.2022

Дек пользовательских структур
У меня есть определяемая пользователем структура struct theName , и я хочу создать очередь из этих структур ( deque<theName> theVar ). Однако, когда я пытаюсь скомпилировать, я получаю эту ошибку: In file included from main.cpp:2:...
4151 просмотров
schedule 22.06.2022

Std :: deque не освобождает память до выхода из программы
В Linux std :: deque не освобождает память до выхода из программы. Полный код ниже. Любая помощь будет оценена! #include <deque> #include <vector> #include <string> #include <iostream> #include...
4431 просмотров
schedule 19.06.2022

std :: deque или std :: list
Я использую только push_front() и push_back() . Таким образом, я не несу никаких других затрат на использование insert() или remove() . Я знаю, что оба контейнера предлагают O(1) сложность для каждой из этих функций, deque s имеют...
4342 просмотров
schedule 23.06.2022

Насколько умен C++ итератор deque
Скажем, у меня есть std::deque<int> d , содержащий 100 значений, от 0 до 99 . Учитывая следующее : В отличие от векторов, двухсторонние очереди не гарантируют, что все их элементы будут храниться в смежных местах хранения: доступ к...
1326 просмотров
schedule 28.06.2022

Доступ к глобальной очереди или структуре данных из функции
Мне нужно создать глобальные очереди в основной программе и использовать их в функциях, вызываемых из этой программы. В моем примере я создаю очередь «вопросы» и добавляю в нее два списка. Я печатаю очередь из основной программы, чтобы показать, что...
3128 просмотров
schedule 10.07.2022