Kest
Другой метод создания нерегулярных массивов - использование связанных
списков. Каждая ячейка содержит указатель на следующую на своем уровне иерар-
хии и указатель на список ячеек, находящихся на более низком уровне иерархии.
Например, ячейка многоугольника может содержать указатель на следующий мно-
гоугольник и указатель на ячейку, в которой определены координаты его первой
вершины.
Следующий код приводит объявления типа данных, которые можно использо-
вать для построения изображений, состоящих из многоугольников на основе свя-
занных списков.
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