Добавление элемента в конец списка

Опишем процедуру, которая добавляет элемент в конец списка. Для того, чтобы добавить элемент в конец списка, требуется просмотреть список, и “прицепить” к последнему элементу списка новый элемент.

Сначала создается элемент списка с заданным значением информационного поля, затем проверяется, не являлся ли исходный список пустым. Если список был пуст, то теперь он будет состоять из одного элемента. Если же список не пуст, то определяется его последний элемент, вслед за которым добавляется новый, только что созданный элемент.

Алгоритм добавления элемента в конец списка

Листинг Добавление элемента в конец списка
procedure add_end (var t: list; r: elem_list);
  var t1, h: list;
begin new (h); 
         h^.info := r; 
         h^.next := nil;
         if t = nil then t := h
         else {список не пуст} 
            begin t1 := t;
                     while t1^.next <> nil do 
                        t1 := t1^.next;
                    {t1 – ссылка на последний элемент списка}
                     t1^.next := h
            end
 end