Решаем задачи Абрамян на Паскале. Pointer80

Pointer80. Даны указатели $$P_1$$ и $$P_2$$ на барьерный и текущий элементы непустого двусвязного списка, причем текущий элемент не совпадает с барьерным.Используя тип TListB (см. задание Pointer74), описать функцию LBDeleteCurrent($$L$$) целого типа, удаляющую из списка $$L$$ текущий элемент и возвращающую его значение ($$L$$ — входной и выходной параметр типа TListB). Текущим становится следующий элемент или, если следующий элемент является барьерным, предыдущий элемент списка. Функция также освобождает память, занимаемую удаленным элементом. Если текущим элементом является барьерный элемент, то функция не выполняет никаких действий и возвращает $$0$$. С помощью этой функции, а также функции IsBarrier из задания Pointer78, удалить из исходного списка пять элементов (или все элементы, если их менее пяти) и вывести их значения. Вывести также новый адрес текущего элемента списка.

Решение:

 

Другие задачи из раздела Pointer можно посмотреть здесь.

Комментарии:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *