Род Стивенс

Книги → Delphi. Готовые алгоритмы → Глава 2. Списки

JobTitle : String[10];

NextCell : PEltpCell;

end;

Для создания новых ячеек программа использует оператор New, выделяя под них необходимое количество памяти.

Программа должна сохранять указатель на начало списка. Для того чтобы опре­делить, где заканчивается список, она устанавливает значение NextCell для по­следнего элемента в ni 1. Например, следующий фрагмент кода создает список, со­держащий информацию о трех служащих:

var

top_cell, celll, се112, cell3 : PEmpCell;

begin

// Построение ячёек.

New(celll);

cel11Л.EmpName := 'Стивенс';

celllNSSN := '123-45-6789';

се111л.JobTitle := 'Автор'; ,

New(cell2) ;

се112л.EmpName := 'Кэтс';

се112л.SSN := '234-56-7890';

се112.JobTitle := 'Юрист;

New(cell3);

cel13л.EmpName := 'Туле'; cel13Л.SSN := '345-67-8901'; се113л.JobTitle := 'Менеджер';

// Связывание элементов списка для построения связанного списка. се111л.NextCell := се112; се112л.NextCell := се113; се113л.NextCell := nil;

// Установка указателя на начало списка. top cell := celll;

На рис. 2.2 изображено схематичное представление этого связанного списка. Прямоугольники соответствуют ячейкам, а стрелки - указателям на объекты. Ма­ленький перечеркнутый квадрат представляет значение nil, которое указывает на конец списка. Обратите внимание, что top cell, се111,се112исе113 - это не фактические объекты, а только указатели на них.

Ячейка 1 Ячейка 2 Ячейка 3

Следующий код использует связанный список, сформированный при помощи предыдущего примера, для отображения имен служащих. Переменная ptr пред­ставляет собой указатель на элементы списка и первоначально отсылает в начало списка. В коде применяется цикл while для перемещения через весь список до тех пор, пока значение ptr не достигнет конца списка. Во время каждого шага цикла процедура выводит поле EmpName для ячейки, указанной переменной ptr.. Затем программа передвигает ptr, чтобы указать следующую ячейку списка. В ко­нечном итоге ptr достигает конца списка и получает значение nil, а цикл оста­навливается.

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

Страницы раздела: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Публикация компанией 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.