![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
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; Прочитано: 195 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!