Слайд 2Структура данных
type Tinf=integer;
Tptr = ^Tlist;
Tlist = record
inf: Tinf;
pred, next:Tptr;
end;
![Структура данных type Tinf=integer; Tptr = ^Tlist; Tlist = record inf: Tinf; pred, next:Tptr; end;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1090214/slide-1.jpg)
Слайд 3Создание двухсвязного списка
var head, p, q:Tptr; f:textfile;
begin
…
reset(f);
head:=nil;
if not eof(f) then
begin
new(head);
read(f,head^.inf);
![Создание двухсвязного списка var head, p, q:Tptr; f:textfile; begin … reset(f); head:=nil;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1090214/slide-2.jpg)
head^.pred:=nil;
head^.next:=nil;
q:=head;
end;
while not eof(f) do
begin
new(p);
read(f, p^.inf);
p^.pred:=q;
q^.next:=p;
q:=p;
end;
p^.next:=nil;
…
end.
Слайд 4Удаление элемента
head:=head^.next;
head^.pred:=nil;
p^.pred^.next:=p^.next;
p^.next^.pred:=p^.pred;
dispose(p);
![Удаление элемента head:=head^.next; head^.pred:=nil; p^.pred^.next:=p^.next; p^.next^.pred:=p^.pred; dispose(p);](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1090214/slide-3.jpg)
Слайд 5Вставка элемента в список перед найденным
if p=head
then
begin
p1^.pred:=nil;
p1^.next:=head;
head:=p1;
end
else
begin
p1^.pred:=p^.pred;
p1^.next:=p;
p^.pred^.next:=p1;
![Вставка элемента в список перед найденным if p=head then begin p1^.pred:=nil; p1^.next:=head;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1090214/slide-4.jpg)
p^.pred:=p1;
end;