Лекция: Задачи включения элемента в линейный однонаправленный список без головного элемента.

 

Графическое представление выполняемых действий дано на рис. 21

 

Формирование пустого списка.

 

Procedure Create_Empty_List ( var first: el);

Begin

first = nil;

End;

Формирование очередного элемента списка.

 

Procedure Create_New_Elem(var p: el);

Begin

New (p);

Writeln ('введите значение первого информационного поля: ');

Readln ( p^.inf1 );

Writeln ('введите значение второго информационного поля:'); Readln ( p^.inf2 );

p^.next := nil;

{все поля элемента должны быть инициализированы}

End;



Подсчет числа элементов списка.

 

Function Count_el(First:el):integer;

Var

K: integer;

q: el;

Begin

If First = Nil then

k:=0 {список пуст}

Else

begin {список существует}

k:=1; {в списке есть хотя бы один элемент}

q:=First;

{перебор элементов списка начинается с первого}

While q^.Next <> Nil do

Begin

k:=k+1;

q:=q^.Next;

{переход к следующему элементу списка}

End;

End;

Count_el:=k;

End;

 

ПРИМЕЧАНИЕ: аналогично может быть написана процедура, например, печати списка, поиска адреса последнего элемента и др.

 

еще рефераты
Еще работы по информатике