![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
Бродяжник |
![]()
Сообщение
#1
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 206 Пол: Мужской Репутация: ![]() ![]() ![]() |
Бьюсь над созданием списка с возможностью удаления элементов из середины. Вспомнил про FAQ на любимом форуме, полез туда. Читаю:
Цитата Предположим, что надо удалить элемент, расположенный после элемента, на который указывает ссылка q. {удаление элемента из середины списка после q^} Как это работает?! :o |
![]() ![]() |
Altair |
![]()
Сообщение
#2
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
опечатка...
вместо q^.Next:=q^.Next;надо конечно q^.Next:=q^.Next^.next; если что, вот тебе тест ... (здесь модуль strlist это из FAQ"a, только с эмулированием шаблонов ![]() Uses wincrt,strlist; UNIT StrList; list.pas - из FAQ'a {------------------------------------------------------------------| -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
hiv |
![]()
Сообщение
#3
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Лучше так сделать:
{удаление элемента из середины списка после q^} Сообщение отредактировано: hiv - 7.06.2005 8:53 -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
А можно вопрос? ЗАЧЕМ??? Перебор какой-то получается, "удалить следующий за данным элемент" ...
![]() Procedure DeleteAfter(Var q: point); |
Бродяжник |
![]()
Сообщение
#5
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 206 Пол: Мужской Репутация: ![]() ![]() ![]() |
Спасибо! А то я в себе засомневался: вдруг я вижу ошибку там, где ее нет? <_<
2 Volvo Код для DeleteItem можно глянуть? Сообщение отредактировано: Бродяжник - 7.06.2005 9:15 |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата(Бродяжник @ 7.06.05 9:10) Код для DeleteItem можно глянуть? Можно конечно, только вот для НЕ ООП-списка это не пойдет. Я передаю в DeleteItem указатель на Item, который нужно удалить, и забываю про него, меня не интересует, что с этим указателем будет дальше... Подробности - здесь: ООП - Односвязный список (list.rar) |
Бродяжник |
![]()
Сообщение
#7
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 206 Пол: Мужской Репутация: ![]() ![]() ![]() |
Спасибо за подсказки... но в конце концов я, наверное, сделаю что-то вроде периодической "сборки мусора", в ходе которой "живые" элементы списка будут объединяться в новый список, а старый будет удаляться.
|
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 6:52 |