1 / 1 / 1
Регистрация: 09.11.2014
Сообщений: 68
|
||||||
1 | ||||||
Удаление из связного списка27.01.2020, 23:10. Показов 1312. Ответов 9
Метки нет Все метки)
(
Вечер Добрый! Проблема с функцией удаления. Нужны советы, подсказки от гуру)
Проблемная точка в части удаления не из начала списка(из середины, короче). Из начала все удаляет и выводит. Так вот, при попытке удалить что-то из середины и вывести итоговый список отладчик сигналит, что в head у нас "ошибка чтения символов из строки". Вероятнее всего проблема с указателями. Но хоть убей, не понимаю в чем проблема. Нашла искомую запись-скопировала предыдущую запись-связала записи-потом удалила...Что еще нужно сделать?)
*Прошу прощения за не полный код, просто он громоздкий. Но если необходимо, то могу выложить.
0
|
|
27.01.2020, 23:10 | |
Ответы с готовыми решениями:
9
Удаление элементов из связного списка
Реализация связного списка Реализация связного списка |
5754 / 3180 / 1320
Регистрация: 07.02.2019
Сообщений: 8,002
|
||||||
27.01.2020, 23:16 | 2 | |||||
lilulu,
1
|
6575 / 4560 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
27.01.2020, 23:18 | 3 |
Здесь тебе нужно искать запись предыдущую той, которую ты хочешь удалить.
Зачем при удалении создавать новый элемент?
0
|
1 / 1 / 1
Регистрация: 09.11.2014
Сообщений: 68
|
|
27.01.2020, 23:30 [ТС] | 4 |
"Вызвано необработанное исключение: нарушение доступа для чтения.
p было nullptr." в строчке с while И все же, почему нужно именно так? Например, почему List*p = *head в 12 строчке, а не в начале функции?
0
|
5754 / 3180 / 1320
Регистрация: 07.02.2019
Сообщений: 8,002
|
|
27.01.2020, 23:35 | 5 |
Ну значит список кривой, если
ptr != nullptr и ptr != *head , то p никак не мог оказаться nullptrтам где нужен, там и объявляем. Добавлено через 56 секунд возможно функция find кривая
0
|
1 / 1 / 1
Регистрация: 09.11.2014
Сообщений: 68
|
|
27.01.2020, 23:38 [ТС] | 6 |
oleg-m1973, там я проверяю есть ли у нас вообще такая запись. А предыдущую запись через цикл искала в данной функции.
Мне просто казалось, что при копировании нужно так делать.
0
|
5754 / 3180 / 1320
Регистрация: 07.02.2019
Сообщений: 8,002
|
|
27.01.2020, 23:56 | 7 |
0
|
1 / 1 / 1
Регистрация: 09.11.2014
Сообщений: 68
|
||||||
28.01.2020, 00:01 [ТС] | 8 | |||||
zayats80888,
0
|
5754 / 3180 / 1320
Регистрация: 07.02.2019
Сообщений: 8,002
|
||||||
28.01.2020, 00:04 | 9 | |||||
![]() Решение
lilulu,
1
|
1 / 1 / 1
Регистрация: 09.11.2014
Сообщений: 68
|
|
28.01.2020, 00:13 [ТС] | 10 |
zayats80888, Ну да...это выглядит разумнее, чем моя мутотня)Прошли-нашли-вернули, найденную запись. Дошли до нуля - значит не нашли. А я там, добавляю что-то и пр. ...
Заработало. Благодарю)
0
|
28.01.2020, 00:13 | |
Помогаю со студенческими работами здесь
10
Создание связного списка Сортировка связного списка Сортировка связного списка
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |