Программирование на языке Pascal

       

Удаление элементов списка


Для того чтобы при удалении элемента из середины списка не терялась целостность всей структуры, необходимо при поиске удаляемого элемента "остановиться" за один шаг до него: в тот момент, когда следующий за текущим элемент должен быть удален (см. рис. 10.5):

p:= head; {начать с головы списка} while p^.next^.zhach<>х do p:= p^.next; {поиск} q:= p^.next; {удаляемый элемент} p^.next:= q^.next; {связка "через один"} dispose(q); {освобождение памяти}



Содержание раздела