Программирование на языке Pascal



дешевый костюм деда мороза - Новогодние костюмы ФУНДИ. | лечение геморроя без операции с помощью криодеструкции. |

Создание списков


Предположим, что есть некоторый набор значений (например, в файле), которые необходимо записать в создаваемый односвязный список. Тогда у нас есть две возможности создавать этот список: от хвоста к голове или от головы к хвосту.

Мы приведем здесь обе программы, позволив себе для краткости опустить описания типов, воспользовавшись описанием, показанным в табл. 1 (a):

var head,p: ukazatel; f: text; begin ... head:= nil; while not eof(f) do begin new(p); read(f,p^.znach); p^.next:= head; head:= p; end; end.

Очередной шаг процесса генерации списка

Рис. 10.3.  Очередной шаг процесса генерации списка "от хвоста к голове"

var head,p,q: ukazatel; f: text; begin ... if eof(f) then head:= nil else begin new(head); {головной элемент создается отдельно} read(f,head^.znach); head^.next:= nil;

q:= head; while not eof(f) do begin new(p); read(f,p^.znach); p^.next:= nil; q^.next:= p; q:= q^.next; end; end; end.

Очередной шаг процесса генерации списка

Рис. 10.4.  Очередной шаг процесса генерации списка "от головы к хвосту"




Содержание  Назад  Вперед