Динамические структуры данных. Задание практикума. Язык Паскаль. Вылиток А.А - 29 стр.

UptoLike

- 29 -
var p: link;
begin
write('=>'); {выводим приглашение для ввода строки}
if eoln then {пустая строка - список пуст}
L:=nil
else
begin {создаем первое звено}
new(p); read(p.elem);
L:=p;
{ dequeue(Z,y) }
1
Z
2
nil
y
procedure dequeue(var Q: queue;
var x:elemtype);
var p:link;
begin
x:= Q.front.next .elem;
p:=Q.front;
Q.front:= Q.front.next;
dispose(p)
end; {dequeue}
x
Q
p
1
Z
2
nil
1
y
x
Q
p
x
Q
p
1
Z
2
nil
1
y
Z
2
nil
1
Рис. 2б
1
y
                        y                Z

         { dequeue(Z,y) }
                                                             2       nil


                                                     1

procedure dequeue(var Q: queue;
                var x:elemtype);             y   1
var p:link;
begin                     x                  Z
                          Q
x:= Q.front↑.next ↑.elem; p
p:=Q.front;               x                                      2     nil
                          Q
                          p
Q.front:= Q.front↑.next;                                 1
                            x
                            Q
dispose(p)                                   y   1
                            p
end; {dequeue}
                                             Z


                                                                 2         nil


Z                       y       1
                                                         1

                        2       nil
        1


                                Рис. 2б



    var p: link;
     begin
     write('=>'); {выводим приглашение для ввода строки}
     if eoln then {пустая строка - список пуст}
                  L:=nil
       else
         begin {создаем первое звено}
          new(p); read(p↑.elem);
          L:=p;


                                    - 29 -