работа со списками



Автор Ѐыжиk задал вопрос в разделе Образование

Работа со списками в Pascal! Помогите! и получил лучший ответ

Ответ от Gennady[гуру]
Доброго времени суток.Вот пример работы с двухсвязным списком. Здесь ListPtr имеет следующую структуруtype ListPtr = ^ListRec; ListRec = record Prev : ListPtr; Next : ListPtr; Curr : PhonePtr; {указатель на запись с информацией} end;Кроме того имеются следующие глобальные переменные для хранения указателей на текущий, первый и последний элементы.var CurrL, FirstL, LastL : ListPtr;procedure Delete_Phone;var Lp : ListPtr;begin if CurrL = Nil then Exit; with CurrL^ do begin if Prev = Nil then begin Lp := Next; FirstL := Next; if Lp <> Nil then Lp^.Prev := Nil; end else begin Lp := Prev; Lp^.Next := Next; if Next <> Nil then Next^.Prev := Lp; end; if Next = nil then LastL := Prev; Dispose(Curr); {освобождение памяти, занятой информацией } end; Dispose(CurrL); {освобождение памяти, занятой элементом списка} CurrL := Lp; Dec(NumPhones); Modified := True;end;Перед обращением к этой процедуре указатель на удаляемую запись должен находиться в переменной CurrL. Если требуется сделать это по номеру элемента, то можно просто в цикле просканировать список, пока не станем на нужный элемент.Удачи!

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Работа со списками в Pascal! Помогите!
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*