|
31 / 15 / 7
Регистрация: 08.01.2019
Сообщений: 636
|
|||||||||||
Двусвязные списки без ООП01.10.2019, 15:01. Показов 3970. Ответов 53
Метки нет (Все метки)
Здравствуйте, я перелазил по всем сайтам и совсем уже запутался, ни как не разберу как создать мне двусвязный список И как его мне его потом вызвать в мейне.
Точно понятно что список нужно вывести. А остальное я не понимаю, все что-то пишут на сайтах не дает вообще никакого понятия как работают списки чем больше читаю тем больше вхожу в заблуждение. Чтобы реализовать двусвязный список нужно написать функции: добавление элемента в конец, в начало списка, так же нужно написать удаление всего списка, а это значит что нужно кроме как завести память под элемент(узел) списка прежде чем его куда-то добавлять нужно было еще в начале завести память под весь список, верно? хоть какие то мои предположения верны?Еще создание нового элемента и добавление его в список это одно и тоже? Помогите, пожалуйста с этим делом ![]() P.S. Хватит с меня ссылок. Нужен человек который напишет код и все объяснит по нему ИЛИ(и) человек готовый разжевать все до мелочей. Крч суть в том, что те добрые люди который откликнуться должны быть готовы ответь на мои тупые вопросы которые будут возникать по ходу понимания как работает эта структура данных
0
|
|||||||||||
| 01.10.2019, 15:01 | |
|
Ответы с готовыми решениями:
53
двусвязные списки Двусвязные списки в с++ |
|
31 / 15 / 7
Регистрация: 08.01.2019
Сообщений: 636
|
||||||
| 02.10.2019, 14:33 [ТС] | ||||||
|
Я сделал такую штуку в int main(int argc, char** argv)
0
|
||||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 02.10.2019, 14:35 | |
|
0
|
|
|
31 / 15 / 7
Регистрация: 08.01.2019
Сообщений: 636
|
||||||
| 02.10.2019, 14:36 [ТС] | ||||||
0
|
||||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||||||
| 02.10.2019, 14:38 | |||||||
1
|
|||||||
|
31 / 15 / 7
Регистрация: 08.01.2019
Сообщений: 636
|
||||||
| 02.10.2019, 14:44 [ТС] | ||||||
|
Кликните здесь для просмотра всего текста
0
|
||||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||||||||||
| 02.10.2019, 15:34 | |||||||||||
0
|
|||||||||||
|
31 / 15 / 7
Регистрация: 08.01.2019
Сообщений: 636
|
|||||||
| 02.10.2019, 15:38 [ТС] | |||||||
|
const, я кстати тоже дописал, я еще в мейне после принта вызвал pop_back(list), а потом clearlist(list)...ну у них одинаковая ошибка: [Error] invalid initialization of reference of type 'List&' from expression of type 'List*'
поп_бэк без изменений,а клирлист сейчас такой:
0
|
|||||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||||||||
| 02.10.2019, 15:41 | ||||||||
0
|
||||||||
|
31 / 15 / 7
Регистрация: 08.01.2019
Сообщений: 636
|
||
| 02.10.2019, 15:52 [ТС] | ||
|
И раз clearlist(List &list) очищает весь список при помощи pop_back, стоит ли вообще в мейне вызывать pop_back?
Добавлено через 6 минут Добавлено через 3 минуты У меня в текстовом файле три строки: 123 weqrqre 44ff4 Почему мой вывод такой: "1 44ff4 2 44ff4 3 44ff4" ? Где я прокололся?
0
|
||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 02.10.2019, 15:53 | |
|
0
|
|
|
31 / 15 / 7
Регистрация: 08.01.2019
Сообщений: 636
|
|||
| 02.10.2019, 16:04 [ТС] | |||
|
0
|
|||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 02.10.2019, 16:08 | |
|
1
|
|
|
31 / 15 / 7
Регистрация: 08.01.2019
Сообщений: 636
|
||
| 02.10.2019, 16:15 [ТС] | ||
|
Я после %s написал \n и получилось такое Кликните здесь для просмотра всего текста
3 44ff4
2 weqrqre 1 123
0
|
||
|
31 / 15 / 7
Регистрация: 08.01.2019
Сообщений: 636
|
||||||||||||||||
| 03.10.2019, 16:46 [ТС] | ||||||||||||||||
|
oleg-m1973, Снова здраствуйте, можете еще чуток помочь по списку, пожалуйста
Кликните здесь для просмотра всего текста
Кликните здесь для просмотра всего текста
Вот такие вывод и мейн: Кликните здесь для просмотра всего текста
123 weqrqre 44ff4 А вывод в консоле такой: 4. 44ff4 3. 44ff4 2. weqrqre 1. 123 Во первых должно на единицу начинаться, а не заканчиваться, во-вторых откуда берется еще одна строка?!
0
|
||||||||||||||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||
| 03.10.2019, 16:52 | |||
|
Добавлено через 2 минуты Наверное, надо проверять, что возвращает fgets или что-то типа того
0
|
|||
|
31 / 15 / 7
Регистрация: 08.01.2019
Сообщений: 636
|
||
| 03.10.2019, 17:00 [ТС] | ||
![]() Нужно то в хвост, еще раз спасиб) Вы случайно не знаете чем может быть вызвано, то что последняя строка выводится дважды это касается списка или того как я читаю файл своим fgets ?
0
|
||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||||||
| 03.10.2019, 17:03 | |||||||
1
|
|||||||
|
31 / 15 / 7
Регистрация: 08.01.2019
Сообщений: 636
|
|||
| 03.10.2019, 18:18 [ТС] | |||
|
Добавлено через 2 минуты Добавлено через 1 час 10 минут oleg-m1973, Извиняюсь за вопрос не по теме, просто подскажите в правильном ли направлении я мыслю. Если я захочу поменять местами две разные data, то есть просто их свапнуть то мне нужно пройтись по всем узлам в поисках data1 и присвоить ей временную переменную, а потом тоже самое повторить с data2 и после этого сделать что-то типом temp=data1; data1=data2; data2=temp; ?
0
|
|||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 03.10.2019, 20:08 | ||
|
Могу только сказать, что в двусвязном списке обычно дешевле поменять местами ноды, чем обменивать их значения
0
|
||
|
31 / 15 / 7
Регистрация: 08.01.2019
Сообщений: 636
|
|||
| 03.10.2019, 20:25 [ТС] | |||
![]() Я пытаюсь реализовать функцию, которая меняет местами два указанных нода в линейном двусвязном списке.
0
|
|||
| 03.10.2019, 20:25 | |
|
Двусвязные списки Шаблонные двусвязные списки. Линейные двусвязные списки Указатели и двусвязные списки
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|