Описание тега deque
Двусторонняя очередь. Тип данных контейнера, который обычно поддерживает эффективную вставку и удаление с двух сторон.
2
ответа
Перегрузка оператора +=
Я должен написать оператор перегрузки += но я не знаю, как сделать это правильно (я начал писать в конце кода, это было неправильно, поэтому я удаляю все, кроме вы видите). #include <iostream> using namespace std; class dek { private: int *x,n…
01 мар '12 в 18:01
0
ответов
Большой набор данных: записывать данные в файл постепенно? или постоянно?
У меня есть рабочий прототип-код, который создает .ppm файл изображения из набора простых параметров. Цель состоит в том, чтобы создать очень большую картинку (что-то вроде 100000 * 100000 пикселей) и распечатать обои с высоким разрешением из нее на…
11 июл '13 в 19:07
2
ответа
Самый быстрый способ добавить деку в конец вектора?
Этот вопрос о скорости. Я использую функцию в библиотеках openCV (в классе FaceRecognizer), которая требует ввода вектора. Мне нужно построить этот вектор путем объединения нескольких дек. Существуют ли более быстрые способы, кроме итерации по deque…
30 сен '15 в 21:32
1
ответ
deque::push_back с потоками странно реагирует
Я пробовал разные вещи, но push_back потоков в контейнере deque реагирует странно. почему это происходит?? Это из-за конструкторов копирования / перемещения? Вот вывод программы... progress[0]:-1 progress[1]:-1 executing threads... progress[0]:100 p…
28 дек '16 в 14:51
1
ответ
C++ deque: когда итераторы признаны недействительными
Пожалуйста, поправьте меня, если я ошибаюсь. Спасибо! insert а также erase будет перемещать элементы, но элементы перед позицией, где происходит вставка / удаление, не перемещаются, и, следовательно, их итераторы остаются действительными. push_back …
29 апр '12 в 16:54
2
ответа
Уничтожить деку с помощью указателей и бесплатно в C
Я пытаюсь уничтожить свою деку, но почему-то не получаю указатели. Я написал следующий код (deque это указатель на указатель, который указывает на первый элемент deque). DequeItem - это структуры с полями next (указатель на следующий элемент) и data…
25 апр '12 в 07:23
1
ответ
Действительно ли std::deque потокобезопасен?
Я знаю, что говорится в книгах о том, что std::deque умеренно безопасен для потоков, но мой опыт доказывает обратное. Я использую VS 2010. Есть по крайней мере два потока (может быть N потоков, но добавление потоков только делает проблему быстрее), …
09 апр '14 в 23:59
3
ответа
Сортировать деку, содержащую структуру
Я хочу отсортировать deque согласно значению int g, содержащемуся в структуре узла. Структура моей программы такая: struct node { int x; int y; int g; }; deque<node> open; Это сортирующая функция, которую я пытаюсь, но она выдает значения мусо…
26 июн '15 в 09:19
1
ответ
C++ std::deque copy конструктор проблема
#include <deque> #include <vector> struct A { A(int* const p) : m_P(p) {} A(A&& rhs) : m_P(rhs.m_P) { rhs.m_P = nullptr; } A& operator=(A&& rhs) { delete m_P; m_P = rhs.m_P; rhs.m_P = nullptr; } ~A() { delete m_P; } A…
12 авг '16 в 07:30
3
ответа
Вставка предмета в деку
Концентрируясь конкретно на методе insertFront() в main, как мне создать элемент, содержащий значения num и price. Более того, он должен содержать значения num и price или userinNum и userinPrice? theQueue.insertFront(//ITEM???); Основной метод MyDe…
25 мар '16 в 21:32
3
ответа
Можно ли одновременно удалить и получить копию объекта из C++ std::vector или std::deque?
На Яве Deque У класса есть методы удаления для концов, которые фактически возвращают возвращаемый элемент. В C++ кажется, что единственный способ добиться того же поведения - это сначала явно скопировать элемент, а затем извлечь его. std::deque<i…
01 ноя '13 в 08:57
3
ответа
Лучший тип контейнера
Я работаю в приложении, которое требует "Скользящее окно", которое является просто контейнером строк, Window = ["the", "dog", "is", "hungry"] Приложение обрабатывает большой текстовый файл, и когда определенные условия выполняются, окно добавляет но…
12 июл '17 в 03:42
3
ответа
Ошибка в методах отображения и вставки (двусторонняя очередь)
1) Моя проблема когда я делаю удаление из правой или левой программы будет удаляться истина, но когда я вызываю метод diplay, содержимое неправильно вот так я вставляю 12 43 65 23 и когда make удалить из левой программы удалит 12 но когда вызов мето…
23 май '10 в 15:03
2
ответа
Deque последний элемент вставки.
Datastructure Degue. Метод для вставки значения впереди: Отлично работает public void insertLeft(Item item) { if (size == deque.length){ resize(2 * deque.length); } deque[start] = item; start++; size++; } Метод для вставки значения в хвост - перезап…
03 дек '18 в 18:22
1
ответ
Почему std::deque не является вектором с памятью, зарезервированной до индекса 0?
Насколько я понимаю, мотивация deque заключается в предоставлении контейнера с произвольным доступом с эффективным push_front, Обычно цитируемые преимущества вектора по сравнению с deque включают более быстрый обход и at(), но в основном его совмест…
10 фев '13 в 00:03
1
ответ
Добавление в начало ArrayDeque в Java
Мне поручено создать метод, который добавляет в начало (слева) ArrayDeque без использования библиотеки Deque. Я придумал метод, хотя он не добавляет в очередь, он выходит с пустой очередью. Вот мой метод addLeft: public T[] addLeft(T item){ T[] copy…
26 янв '16 в 13:32
4
ответа
Наследование и наследование объектов в C++
У меня есть несколько элементов управления, организованных следующим образом: deque<wxTextCtrl*> dequeEdit; deque<wxStaticText*> dequeText; deque<wxComboBox*> dequeCombo; Все эти элементы управления наследуются от wxWindow, который…
01 окт '12 в 12:27
2
ответа
deque push back error
Я пишу компилятор и использую deque для хранения меток методов класса и вот пример кода: #include <deque> #include <iostream> #include <string> using std::cout; using std::deque; using std::endl; using std::string; int main() { deq…
11 май '12 в 14:25
1
ответ
Приложение Python Deque со списком
Я сейчас создаю свой deque объект, используя следующее, self.CommandList = deque((['S', False, 60],['c'],['g16'],['i50'],['r30', True],['u320'],['o5000'],['b1'],['B4500'],['W1'],['l5154'],['!10'],['p2', True, 10],['e1'],['K20'],['U0'],['Y0'])) Но я …
15 июл '10 в 14:15
2
ответа
Запросы на основе массива: почему AddFront/RemoveFront O(1)?
С deque на основе массива, почему добавляются и удаляются с лицевой стороны амортизированный O(1)? Для меня будет иметь смысл, что это всегда будет O(n), потому что любая операция будет означать, что текущие значения массива нужно будет "переместить…
22 ноя '15 в 01:35