Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2011, 00:58   #1
decantnik
Пользователь
 
Аватар для decantnik
 
Регистрация: 15.10.2008
Сообщений: 36
По умолчанию Двусвязный список

Даны указатели P1 и P2 на барьерный и текущий элементы двусвязного списка. Описать процедуры LBToFirst (L) (делает текущим первый элемент списка L), LBToNext (L) (делает текущим в списке L следующий элемент), LBSetData (L,D) (приваивает текущиму элементу списка L значение D целого типа, если данный элемент не является барьерным) и функция IsBarrier (L) логического типа (возвращает True если текущий лемент списка L является его барьерным элементом, и False в противном случае). С помощью процедур LBToFirst и LBToNext присвоить нулевые значения элементам исходного списка с нечетными номерами и вывести количество элементов в списке, а также новый адрес текущего элемента списка

Как бы процедура LBToFirst
Код:
procedure AddToBegin (list : p2list; d : integer);
var
  l : plist;
begin
  if list^ = nil then
  begin
     AddToEnd (list, d);
     exit
  end;
  while list^^.prev <> nil do
      list := @list^^.prev;
  New (l);
  l^.data := d;
  l^.prev := nil;
  l^.next := list^;
  list^^.prev := l
end;
Процедура LBToNext
Код:
procedure DelFromBegin (list : p2list);
var
 old : plist;
begin
  if list^ = nil then
    exit;
  while list^^.prev <> nil do
     list^ := list^^.prev;
   old := list^;
   list^ := list^^.next;
   list^^.prev := nil;
   Dispose (old)
end;

Меня интересует " LBSetData (L,D) (приваивает текущиму элементу списка L значение D целого типа, если данный элемент не является барьерным)". Что такое барьерный элемент в общем? Как реализовать эту процедуру?
decantnik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
двусвязный список Olezhka Помощь студентам 1 23.03.2011 11:00
Двусвязный список Work Group Паскаль, Turbo Pascal, PascalABC.NET 12 13.07.2010 01:44
двусвязный список Work Group Помощь студентам 0 24.05.2010 21:27
двусвязный список klykovka Помощь студентам 8 22.05.2010 18:58
двусвязный список на си++ mizantrop32 Общие вопросы C/C++ 0 18.05.2010 17:45