Компонентный Паскаль/Связанный список: различия между версиями

 
Пример такого списка:
<source lang="oberon2">
TDblList = POINTER TO RECORD (* двусвязный список *)
first : POINTER TO TDblElem; (* первый элемент списка *)
end : POINTER TO TDblElem; (* последний элемент списка *)
len : INTEGER; (* длина списка *)
END;
</source>
Как видно из примера, управляющая структура совсем короткая. Даже короче, чем элемент двусвязного списка. Сам тип TDblList определён через указатель на структуру, поэтому переменную такого типа, можно создать динамически, что позволит сократить объём программы в виде исполняемого файла.
 
==== Вставка нового элемента ====
Вставку нового элемента в список рационально (но не обязательно) реализовать в форме метода объекта:
<source lang="oberon2">
 
788

правок