Просмотр списка

Просмотр элементов списка осуществляется последовательно, начиная с его начала. Указатель List последовательно ссылается на первый, второй и т. д. элементы списка до тех пор, пока весь список не будет пройден. При этом с каждым элементом списка выполняется некоторая операция– например, печать элемента. Начальное значение List – адрес первого элемента списка (Head). Digit – значение удаляемого элемента.

List:= Head;

While List^.Next <> nil do

begin

WriteLn(List^.Data);

List:= List^.Next; { переход к следующему элементу; аналог для массива i:=i+1 }

end;

Удаление элемента из списка.

При удалении элемента из списка необходимо различать три случая:1. Удаление элемента из начала списка.

2. Удаление элемента из середины списка.

3. Удаление из конца списка.

Удаление элемента из начала списка.

List:= Head; { запомним адрес первого элемента списка }

Head:= Head^.List; { теперь Head указывает на второй элемент списка }

Dispose(List); { освободим память, занятую переменной List^ }

Удаление элемента из середины списка.

Для этого нужно знать адреса удаляемого элемента и элемента, находящегося в списке перед ним.

List:= Head;

While (List<>nil) and (List^.Data<>Digit) do

begin

x:= List;

List:= List^.Next;

end;

x^.Next:= List^.Next;

Dispose(List);

Удаление из конца списка.

Оно производится, когда указатель х показывает на предпоследний элемент списка, а List – на последний.

List:= Head; x:= Head;

While List^.Next<>nil do

begin

x:= List;

List:= List^.Next;

end;

x^.Next:= nil;

Dispose(List);



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: