
лекции проги / lec16
.pdf
Динамические структуры данных
(продолжение).

Списки. Пример программы обработки списков.
Рассмотрим задачу: В памяти ЭВМ необходимо хранить сведения о сотрудниках некоторого учреждения и иметь возможность выдавать справки по личному составу, а так же корректировать сохраняемые данные при изменении сведений. Таким образом нужна несложная база данных о сотрудниках. Для каждого сотрудника должно быть указано:

Постановка задачи.

Сведения о сотрудниках для данной задачи определим с помощью двунаправленной автореферентной структуры:

Схема двунаправленного связного списка, состоящего из 3-х элементов:

Технические решения.

На рис. изображен массив структур, содержащий сведения о сотрудниках. Указатели на 1-й и последний элемент получают значения равные NULL. В списке 2 свободных элемента.

Схема поясняет процесс удаления элемента из списка занятых элементов. Был удален элемент номер 2. Физически он остается на месте, но выходит после удаления в другой список (свободных элементов), т.к. указатели на предыдущий и последующий элементы получили другие значения.

Функции по обсуживанию базы:

Основная функция.