Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Просмотр односвязного списка при вставке и удалении



l Обозначим через P - рабочий указатель; в начале процедуры
P = Lst.

l Введем также указатель Q, который отстает на один элемент от P; в начале процедуры Q = nil.

l Когда указатель P получит значение nil, цикл просмотра заканчивается.

Q =Nil

P = Lst

while (P <> nil) do

Q = P

P = ptr(P)

endwhile

return

15. Пример алг реш зад извлечения эл-ов из списка по заданному признаку.

Задача 1 Требуется просмотреть список и удалить элементы, у которых информационные поля равны 4.

Обозначим P - рабочий указатель; в начале процедуры P = Lst.
Введем также указатель Q, который отстает на один элемент от P.
Когда указатель P найдет элемент, последний будет удален относительно указателя Q как последующий элемент.

x = 4

Q = nil

P = Lst

while P <> nil do

if info(P) = x then

if Q = nil then

Pop(Lst)

P = Lst

else

DelAfter(Q) endif

else

Q = P

P= Ptr(P)

endif

endwhile

return





Дата публикования: 2015-02-03; Прочитано: 185 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...