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

Линейный двусвязный список - 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 list);нельзя также использовать директиву #include для включения одних файлов исходного кода в другие файлы исходного кода.» Как это практически реализовать, если надо включить в проэкт 2 файла...
C++ Удаление из строки s все последовательности трёх букв ABC http://www.cyberforum.ru/cpp-beginners/thread425990.html
Только начал освоивать язык С и не могу выполнить задачу Нужно удалить из строки символов s все последователности трёх латинских букв ABC на языке С!
C++ Задача на С++. Алгоритмы библиотеки STL. Программа должна демонстрировать использование контейнерных классов для хранения встроенных типов данных. В программе выполнить следующее: 1. Создать объект-контейнер multimap и заполнить его данными типа int. 2. Просмотреть контейнер. 3. Изменить контейнер, удалив из него одни элементы и заменив другие. 4. Просмотреть контейнер, используя для доступа к его элементам итераторы. ... подробнее

Показать сообщение отдельно
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
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; // все, ноду можно удалять
За конкретными примерами -- вэлкам ту поиск. Их на форуме как хорьков.
 
Текущее время: 03:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru