Род Стивенс

Книги → Delphi. Готовые алгоритмы → Глава 4. Массивы

row_ptr := row_ptr/4.NextRow;

// Если найдена нужная ячейка.

Result bEFAULT_VALUE; if (row_ptrA .Rowor) then exit;

// Нахождение ячейки столбца.

col_ptr := row_ptr/4. FirstCell*. NextCell;

while (со1_р^л.Col<c) do

col_ptr := col_ptrA.NextCell;

// Если найдена нужная ячейка. if (col_ptr/4 .Coloc) then exit;

// Ячейка найдена .

Result := col_ptr~.Value; end;

Программа VSparse использует этот код для работы с сильно разреженным массивом. С ее помощью можно устанавливать и извлекать элементы массива. Значение DEFAULT VALUE для данной программы равно пробелу, поэтому если установить значение элемента в пустую строку, программа удалит его из массива.

Резюме

Некоторые программы используют массивы, которые содержат очень мало значащих элементов. Применение обычных массивов Delphi для хранения таких пустых ячеек привело бы к существенной потере памяти. С помощью же треуголь­ных, нерегулярных, разреженных и сильно разреженных массивов вы можете со­здавать мощные представления массивов, которые требуют минимальных объемов памяти.

 

← предыдущая следующий раздел →

Страницы раздела: 1 2 3 4 5 6 7 8 9

Публикация компанией Dropbox кода Zulip – средства общения для IT-разработчиков

20.11.2015
Одной из одобрительно встреченных программистами инициатив, реализующихся в рамках акции Hack Week, стала публикация исходного кода приложения Zulip – веб-приложения для общения между собой разработчиков в сфере IT-технологий.

Объединение ОС Android и Chrome

17.11.2015
Слухи об объединении двух крупнейших ОС компании Google, Android и Chrome, гуляют по Интернету уже более 5 лет, но до сих пор этого не случилось, хотя очевидно, что с течением времени эти ОС становятся всё более похожими: так, в последнее время появилось немало Android-устройств, к которым прилагаются клавиатуры, а Chrome OS «научилась» работать с сенсорными экранами.

Конференция Linux Piter 2015

15.11.2015
Уже почти через неделю в Санкт-Петербурге впервые в истории пройдёт конференция, посвящённая проблемам свободного программного обеспечения – Linux Piter 2015.