возвращается указатель на начало списка и количество зписей.
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
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.