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

Линейный двусвязный список - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Стек из списка http://www.cyberforum.ru/cpp-beginners/thread426007.html
Здравствуйте, обращаюсь за помощью не в первый раз, всегда помогали, отдельное спасибо. Задача такая. Реализовать стек с помощью списка и осуществить добавление элементов, ну и просмотр. Я лентяй,...
C++ Комментарии к коду Имеются ряд вопросов по коду. 1.Что нужно переделать ,для того чтобы добавить шаблоны? 2. Прокомментируйте пожалуйста код. Заранее благодарен. http://www.cyberforum.ru/cpp-beginners/thread425997.html
C++ Вычислить произведение компонент вектора размером 5
Не могу выполнить Выяснить, в любой из строк матрицы размера 4x5 хотя бы один нулевой элемент. Воспользоваться функцией, которая вычисляет произведение компонент вектора размером 5.
Многофайловые программы C++
Цитата: «В проэкты включаються только файлы исходного кода, а не заголовочные файлы. В интегрированных средах разработки программ не следует добавлять заголовочные файлы к списку проэкта (project ...
C++ Удаление из строки s все последовательности трёх букв ABC http://www.cyberforum.ru/cpp-beginners/thread425990.html
Только начал освоивать язык С и не могу выполнить задачу Нужно удалить из строки символов s все последователности трёх латинских букв ABC на языке С!
C++ Задача на С++. Алгоритмы библиотеки STL. Программа должна демонстрировать использование контейнерных классов для хранения встроенных типов данных. В программе выполнить следующее: 1. Создать объект-контейнер multimap и заполнить его... подробнее

Показать сообщение отдельно
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
19.01.2012, 09:02
Цитата Сообщение от Basisd Посмотреть сообщение
И вот еще вопрос... если мы удалим узел, то что станет со структурой?
Какую структуру вы имеете в виду? Структуру связанных между собой нод? Она должна остаться корректной при корректной работе функции удаления.
Цитата Сообщение от Basisd Посмотреть сообщение
Можете, например, на конкретном примере показать? Допустим, как выбрать узел (т.е. точку отсчета) я знаю, а вот как удалить следующий, который нам нужно удалить? (Попрошу Вас написать функцию, ибо я не пойму просто)
Обычно имеют ссылку на тот узел, который собираются удалять.
В общем случае, нода удаляется как-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
// допустим, некая нода:
Node *nodeToDelete;
// для поддержания корректности двусвязного списка:
 
// указатель на предыдущую ноду ноды, следующей за удаляемой,
// должен указывать на предыдущий элемент удаляемой ноды
nodeToDelete->next->prev = nodeToDelete->prev;
// указатель на следующую ноду ноды, предшествующей удаляемой,
// должен указывать на следующий элемент удаляемой ноды
nodeToDelete->prev->next = nodeToDelete->next;
delete nodeToDelete; // все, ноду можно удалять
За конкретными примерами -- вэлкам ту поиск. Их на форуме как хорьков.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru