Цифровая сортировка базы данных "Жизнь замечательных людей", страница 5

возвращается указатель на начало списка и количество зписей.  

Procedure index_massiv (var b: mas; head: ple);

-  построение индексного массива на основе упорядоченного списка;

возвращается массив указателей.

Procedure digital_sort (var s: ple; l: integer);

-  на входе: неупорядоченный список; кроме того, передается  количество байт  (l) по которым происходит поиск; на выходе: упорядоченный список по сумме и дате вклада;

Procedure poisk (var b: mas; sch: integer; var head: ple);

-  нахождение и запись в очередь вкладчиков с одинаковой суммой вклада;

поскольку поиск происходит в упорядоченном списке, то на выходе мы будем иметь упорядоченную очередь;

возвращается указатель на начало очереди;

Procedure dvderevo (head: ple; var root: pv);

-  построение двоичного Б – дерева из элементов очереди, составленной из    записей с одинаковой суммой вклада (procedure poisk()), по дате вклада ;

если в очереди содержалось несколько элементов с одинаковой датой, то в дерево будет включен первый из них;

возвращается указатель на корень дерева;

Procedure search (p: pv);

-  поиск в дереве по запросу;

поиск начинается с корня; двигаясь то влево, то вправо (слева – расположены элементы “меньшие” того, на котором мы в данный момент остановились, соответсвенно, справа  - “большие”), спускаемся по дереву пока не достигаем листовой вершины; если в вершине находится запрашиваемая информация, то выдается сообщение об успешном завершении поиска, иначе – вершина (запись) не найдена;

Procedure dispose_dp (var p: pv);

-  освобождение оперативной памяти от дерева поиска;

ипользуется обход дерева снизу – вверх;

Procedure dispose_list (var head: ple);

-  освобождение выделенной для списка памяти;

перебираем список, дойдя до каждого элемента, освобождаем его

Function comperison (a1:dat;a2:dat):integer;

-  функция сравнения 2-х дат;

сначала сравниваем по году, затем, при необходимости по месяцу, и если 2 первых параметра совпали, то по числу;

фукция принимает значения:

1 - a1>a2;

-1 - a1<a2;

0  - a1=a2;

5. Результаты работы программы.

5.1. Отсортированная база по году издания и автору.

АВТОР         ГОД     НАЗВАНИЕ ИЗДАНИЯ         К-ВО СТРАНИЦ  ИЗДАНИЕ:

Архипов Е Л  1898  Поликарп Янович Герасимов        796 Патриков Ltd

Архипов Е Л  1898  Арабелла Архиповна Сабирова      488 Герасимов and Co

Архипов В К  1898  Ада Ахиллесовна Остапова         433 Зосимов Ltd

Архипова П О 1898  Поликарп Янович Герасимов        742 Архипов Ltd

Архипова П Р 1898  Александр Янович Климов          796 Патриков Ltd

Ахмедов Б П  1898  Влас Тихонович Мстиславов        845 Феофанов and Co

Ахмедов Б П  1898  Ада Яновна Гедеонова             592 Архипов Ltd

Батыров К И  1898  Ахиллес Поликарпович Александро  272 Патриков Ltd

Батырова С К 1898  Поликарп Янович Герасимов        327 Жаков Ltd

Батырова С К 1898  Остап Никодимович Хасанов        364 Патриков Ltd

Гедеонов А Е 1898  Жак Гедеонович Герасимов         656 Патриков Ltd

Гедеонов Й С 1898  Поликарп Архипович Зосимов       431 Феофанов-Edition

Глебова Е И  1898  Ада Остаповна Демьянова          277 Патриков Ltd

Жакова С В   1898  Жак Гедеонович Герасимов         758 Архипов Ltd

Жакова С В   1898  Ада Климовна Остапова            506 Патриков Ltd

Жаков У П    1898  Василиса Демьяновна Архипова     668 Архипов Ltd

Жакова У Н   1898  Гедеон Ахиллесович Феофанов      774 Архипов Ltd

Зосимов Е Ж  1898  Ада Яновна Гедеонова             860 Герасимов and Co

Зосимов Е Ж  1898  Зосим Ромуальдович Хасанов       124 Зосимов Ltd

Зосимов Т Б  1898  Поликарп Янович Герасимов        569 Патриков Ltd

Климова Б С  1898  Виолетта Евграфовна Тихонова     449 Патриков Ltd

Климов М А   1898  Ада Яновна Гедеонова             534 Патриков Ltd

Климов М А   1898  Поликарп Архипович Зосимов       892 Феофанов-Edition

Муамаров Ж Н 1898  Ада Климовна Остапова            600 Батыров Ltd

Остапов Т Т  1898  Остап Никодимович Хасанов        234 Феофанов-Edition

Остапов М Г  1898  Василиса Демьяновна Архипова     638 Зосимов Ltd

Остапов Г Ж  1898  Зосим Ромуальдович Хасанов       583 Архипов Ltd