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

Варинат не работает, если очередь пустая!

Реализация очереди

Type PElem = ^Elem;

Elem = record

Data: integer

Next: PElem;

End;

Var

Head,tail, p: PElem;

Begin

Head:=nil;

Tail:=nil;

P:=head;

Head:=head^.next;

{Предположим, что у нас уже есть первый и последний элементы}

P^.next:=nil;

Tail^.next:=p;

Tail:=p;

End.

Type PElem = ^Elem;

Elem = record

Data: integer

Next: PElem;

End;

Var

Head,tail, p: PElem;

Begin

Head:=nil;

Tail:=nil;

P^.next:=nil;

If head:=nil then

Head:=p

Else

Tail^.next:=p;

Tail:=p;

End.

Извлечение элемента из очереди получается такое же, как и в стеке

Type PElem = ^Elem;

Elem = record

Data: integer

Next: PElem;

End;

Var

Head,tail, p: PElem;

Begin

P:=head;

Head:=head^.next;

End.

HEAD (указатель)

Данные
Указатель

Данные
Указатель

Данные (последний элемент)
Указатель – NIL

Данные
Указатель

Type PElem = ^Elem;

Elem = record

Data: integer

Next: PElem;

End;

Var

Head,tail, p: PElem;

Begin

{Добавление}

P^.next:=p^.next;

P1^.next:=p;
{Удаление}

P1^.next:=p1^.next^.next;

End.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: