Описание тега doubly-linked-list

Двусвязный список - это структура данных информатики, состоящая из узлов. У каждого узла есть 2 связи, одна с узлом до и одна с узлом после. Следуя этим ссылкам, можно перемещаться по структуре данных как вперед, так и назад, но не случайным образом. Эти ссылки также позволяют легко добавлять узлы в любую произвольную точку конструкции.
3 ответа

Преобразование бинарного дерева в двусвязный список

Я пытаюсь написать функцию в Java для преобразования двоичного дерева в DLL. Функция выполняется без ошибок, но DLL не создается. Ниже приводится функция. root - указатель на корень дерева, а head - на начальный узел DLL. public void dll(Node x) { i…
21 фев '14 в 16:53
0 ответов

C - Вдвойне связанный список добавления нового узла дает ошибку во время выполнения

Итак, у меня есть следующий код для двусвязного списка, который хорошо работал для односвязного списка. Когда я пытаюсь добавить новый узел, используя функцию addFirst в начале узла, он выдает ошибку во время выполнения, когда у меня есть одна строк…
2 ответа

Как вставить первый элемент в двусвязный список в Java

Я просматривал различные посты, но не могу понять, как это сделать - как вставить элемент в пустой двусвязный список? (Я не могу визуализировать пустую DLL.) Я хочу прочитать вещи из файла и вставить их в DLL, и у меня также есть метод для добавлени…
26 янв '14 в 21:05
1 ответ

Нет подходящего конструктора по умолчанию

Это учебный проект, поэтому, пожалуйста, дайте любые дополнительные советы, которые приходят на ум. Я пытаюсь изучить структуры данных путем повторной реализации некоторых контейнеров / алгоритмов STL, и я начал со связанных списков. Если я попытаюс…
2 ответа

Глубокая копия связанного списка

У меня есть двусвязный список, m_Terminal1 - начало списка, а m_Terminal2 - конец списка. Вот мой код CBusLine(const CBusLine & orig){ m_Terminal1 = new TStop(orig.m_Terminal1 -> m_Name); m_Terminal2 = new TStop(orig.m_Terminal1 -> m_Name)…
25 май '14 в 00:26
6 ответов

Разница между двусторонними связанными списками и двусвязным списком

Я не понимаю разницы между двунаправленным и двусвязным списком. В чем главное различие между ними?
1 ответ

Какая структура данных наиболее подходит?

Какая структура данных наиболее подходит для прямого и обратного просмотра веб-страниц в веб-браузерах? Ответ является двусвязным списком. Зачем? Почему мы не можем использовать дерево с указателем для него?
1 ответ

Отслеживание позиции "курсора" в двусвязном списке (Java)

Я реализовал DLL для добавления и удаления символов. Целью кода является предоставление вывода для зарегистрированных нажатий клавиш. Примером является то, что "bai-d" будет давать "плохой" ("-" представляет возврат). Пока что эти операции добавлени…
11 окт '17 в 14:38
1 ответ

Связанный список в C++, Вывод длинных значений

На этот раз я работаю над связанным списком. Мне еще предстоит понять концепцию распределения памяти и т. Д. Мне было поручено выполнить это приложение со связанным списком, которое добавит и удалит узел. Обе эти функции разместят узел на хвосте. По…
19 авг '17 в 07:39
2 ответа

C++ Функция двусвязного списка "delete tail"

Я уже сделал односвязный циклический список, который работал нормально, но в этом случае я сталкиваюсь с такой проблемой, что, если я хочу удалить хвост, он удалит его, если узел был вставлен как хвост, но победил ' т, если он был вставлен в качеств…
19 мар '16 в 11:18
1 ответ

Есть Вдвойне список ссылок ИЛИ BST

Дан узел со следующей структурой class Node { int data, Node* P1, Node* p2; } Нам нужно определить, представляет ли узел Круговой список двукратных связей ИЛИ Двоичное дерево. На мой взгляд, нам нужно начать обход данного узла в одном направлении. n…
1 ответ

Дважды связанный список в C: Почему я должен явно переназначать голову и хвост, даже если они не изменены?

У меня есть двусвязный список, где вы можете добавить к голове или хвосту через указатель на указатель головы или хвостового узла. Таким образом, вы можете просто обновить указатель головы и хвоста на адрес самого нового узла головы или хвоста. У ме…
02 дек '18 в 19:16
1 ответ

C двусвязный список со структурой

Я делаю двусвязный список. Насколько я знаю, это работает, но приехал сюда, чтобы убедиться и убедиться, что я поступаю правильно. С другой стороны, когда я сделал это, я натолкнулся на другие вопросы, не связанные с двусвязным списком, но со структ…
12 май '12 в 10:05
1 ответ

Ошибка сегментации при удалении узла из конца двусвязного списка

Я пытаюсь удалить узел из конца двусвязного списка, но получаю: ошибка сегментации Я добавил различные функции для добавления узла, от начала, с конца и в любой позиции. Я проверил вставку узлов, все работает нормально, DLL отображается правильно, н…
09 янв '19 в 21:40
1 ответ

Как указатели работают с двусвязными списками в C?

Если я создаю следующую структуру: typedef struct node { int a; char b[100][15]; struct node *prev; struct node *next; } Scope; Должен ли я использовать указатель для инициализации моего head_node? В настоящее время это моя функция инициализации: Sc…
07 апр '16 в 05:20
2 ответа

Ада: удаление из гетерогенного списка

Мое назначение требует создания пакета, который создает неоднородный (с использованием наследования) двусвязный список. Вставить узлы в список достаточно просто, но моя проблема возникает, когда мне нужно найти узел, содержащий определенную информац…
2 ответа

Отметить текущую позицию в двусвязном списке

typedef struct tape { char symbol; struct tape *next; struct tape *prev; }tape; tape *pt; void ShowCurrentCombination() { tape currentNode; currentNode = *pt; while(pt->prev != NULL) pt=pt->prev; while(pt->next != NULL) { if(pt == &curr…
12 янв '13 в 17:14
1 ответ

Удалить элемент в std::list, оставив его выделенным

Я строю std::list элементов (структур компонентов графа), которые периодически объединяются. Идея состоит в том, что если я обнаружу узел, соединяющий два компонента, они станут одним компонентом, и мой список перечислит мои компоненты. Каждый компо…
20 дек '12 в 06:24
1 ответ

Преобразовать односвязный список в двусвязный список

Вот код, который у меня сейчас есть. Содержит только метод addFirst. public void addFirst(E e) { Node<E> newNode = new Node<E>(e); if (tail == null) head = tail = newNode; else { newNode.next = head; head = newNode; } size++; } private s…
29 мар '15 в 22:22
2 ответа

Вставка двусвязного списка в функцию и параметры конкретного списка

У меня есть следующий код, который является частью реализации двусвязного списка. Затем я должен использовать мою реализацию ADT для создания таблицы вида value (который является строкой), address (который имеет тип uint32_t) (поэтому таблица с 2 ст…
01 июн '15 в 21:27