Нерегулярні зв’язані списки Delphi

Інший метод створеннянерегулярних масивів– Використання пов’язаних
списків. Кожна комірка містить покажчик на наступну на своєму рівні ієрархія-
хии і покажчик на список комірок, що знаходяться на більш низькому рівні ієрархії.
Наприклад, комірка багатокутника може містити покажчик на наступний мно-
гоугольнік і покажчик на клітинку, в якій визначені координати його першої
вершини.
Наступний код призводить оголошення типу даних, які можна вико-
вать для побудови зображень, що складаються з багатокутників на основі свя-
занних списків.
type
PPictureCell = ATPictureCell;
TPictureCell = record
NextPicture : PPictureCell;
FirstPolygon : PPolygonCell;
end;
PPolygonCell = ATPolygonCell;
TPolygonCell = record
NextPolygon : PPolygonCell;
FirstPoint : PPointCell;
end;
PPointCell = “TPointCell;
TPointCell = record
X, Y : Integer;
NextPoint : PPointCell;
end;

За допомогою цієї методики можна без зусиль додавати і видаляти малюнки, мно-
гоугольнікі або точки в будь-якому місці структури даних.
Програма Poly використовує ^ той підхід (див. рис. 4.7). Вона дозволяє форми-
ровать зв’язаний список із змінних типу TPolyLineCells, кожна з кото-
рих містить зв’язаний список TPointCells. Для малювання ламаних ліній
слід використовувати ліву кнопку миші: при кожному натисканні на неї до Лома-
ної лінії додається нова точка. Натискання правої кнопки відповідає вікон-
чанію малювання лінії.
Рис. 4.7. Вікно програми Poly

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*