Удаление элемента из конца списка

Удаление элемента из конца списка производится, когда указатель dx показывает на предпоследний элемент списка, а х – на последний.

Изобразим удаление графически:

 

{Найдем предпоследний элемент}

x := Head;

dx :=Head;

while x^.Next<>Nil do

Begin

dx := x;

x := x^.Next;

End;

{Удаляем элемент x^ из списка и освобождаем занимаемую им память}

dx^.Next := Nil;

Dispose(x);

Теперь опишем процедуру удаления элементов из списка в общем случае:

Procedure Del(Gigit : integer; Var u : Ukazatel );

Var

x, dx : UKAZATEL ;

Begin

x := Head;

while x<>Nil do

if x^.Data=Digit

then

Begin

if x=y

then

Begin

Head := Head^.Next;

Dispose(x);

x := Head;

End;

else

Begin

dx^.Next := x^.Next;

Dispose(x);

x := dx^.Next;

End;

End;

else

Begin

dx := x;

x := x^.Next;

End;

End;

Задание. Напишите полный текст программы, решающей рассматриваемую задачу. Протестируйте программу, дополните комментарием покажите учителю для оценки.








Дата добавления: 2015-05-16; просмотров: 684;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.