Вставка в отсортированный список
Begin
p:= Nil; t:= h; {встали на начало списка}
While t < > Nil Do {цикл просмотра списка}
If t^.i = a {если удаляемый элемент найден,
Then If p = Nil и если он первый в списке, то удаляем
Then Begin h:= t^.L; Dispose(t); Exit; End как первый,
Else Begin p^. L:= t^.L; Dispose(t); Exit; End иначе удаляем
как в середине}
Else Begin p:= t; t:= t^.L; End; {иначе продвижение вдоль списка}
Writeln('значения ', a:3, ' нет в списке'); {удаляемый элемент не найден}
End;
Вставка заданного элемента в отсортированный список сводится к четырем возможным случаям:
а) вставка в начало списка (вставка элемента списка как первого);
б) вставка в середину списка;
в) вставка в конец списка;
г) вставка в пустой список.
Все варианты вставки реализованы в процедуре InsList .
Procedure InsList (Var h:u; a:integer); {a – значение вставляемого элемента}
Var p, t,s:u; { p,t,s – указатели соответственно на предыдущий,
текущий и вставляемый узлы }
Дата добавления: 2014-01-11 ; Просмотров: 491 ; Нарушение авторских прав? ; Мы поможем в написании вашей работы!
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет