- 1
- 2
- 3
- 4
- . . .
- последняя »
набор полей для работы с элементами списка.
Шаблонный класс element имеет указатель на объект шаблонного класса (T* obj), указатель на следующий элемент списка (element* next), и конструктор без параметров, конструктор с параметрами, который получает параметром указатель на объект шаблонного класса (element (T *obj)). Также в шаблонном классе element имеется метод print (), отвечающий за вывод элемента списка на экран.
Шаблонный класс list содержит указатель на начало списка (element* begin), указатель на конец списка (element* end), конструктор без параметров (list ()) и набор методов, позволяющих работать со списком через систему меню.
Шаблонный класс master_list включает в себя конструктор с параметрами (master_list (int value)), а также набор полей, методов и переопределённых операций, необходимых для работы с объектом данного класса.
Кроме того, есть пользовательский класс man, который включает в себя необходимый набор полей и методов, переопределённых операций, необходимых для работы со списками.
Так как для записи в файл у хранящегося объекта должны быть переопределены операции ввода и вывода, то был создан класс Int ("обёртка") специально для работы с целочисленными значениями стандартного типа int, а именно для записи в файл посредством перегруженной операции ввода в поток или для чтения из файла посредством перегруженной операции вывода из потока.
Вся структура имеет вид, показанный на рис. 1.
Рис. 2
2.2 Описание используемых форматов данныхВ классе master_list содержится пять общедоступных полей, два из которых являются динамическими типа list* (поле list* begin и list*end), три других - нединамическими типа int.
В классе list содержится четыре поля: одно поле типа int и два поля типа element (поле *begin - указатель на начальный элемент списка, *end - указатель на конечный элемент списка) и одно поле типа list (*next - указатель на следующий элемент в списке).
В классе element содержится два общедоступных поля: типа T (поле *obj - указатель на объект класса) и типа element (поле *next - указатель на следующий элемент списка).
В пользовательском классе man содержится три общедоступных поля: два типа int и одно поле типа char*.
В "обертке", в классе Int содержится одно общедоступное поле типа int.
2.3 Описание основных алгоритмов и их особенностей 2.3.1 Добавление в список списка верхнего уровняЗа добавление нового списка в список верхнего уровня отвечает функция void master_list:: push (T* obj). Данная функция объявляется в шаблонном классе master_list и получает параметром указатель на объект нашего шаблонного класса. Новый список добавляется в конец списка верхнего уровня. Функция имеет следующий алгоритм:
Если список верхнего уровня пуст (рис. 3.1):
. Объявляется указатель на начальный список в списке верхнего уровня.
2. Он является и началом списка верхнего уровня и концом.
. Вызов функции добавления элементов в список из класса list (заполнение списка элементами, число которых не превышает рекомендованного размера списка - заданного заранее значения):
3.1. Создается новый элемент.
3.2. Если список был пуст - он становится первым и последним элементом.
.3. При заполнении списка элементами, количеством равным рекомендованному размеру списка, будет создаваться новый список.
Если список верхнего уровня не пуст:
. Объявляется указатель новый список в списке верхнего
- 1
- 2
- 3
- 4
- . . .
- последняя »
Похожие работы
Тема: Аналитическая обработка данных (OLAP). Информационное хранилище данных. Модели данных, используемые для построения информационных хранилищ |
Предмет/Тип: Информационное обеспечение, программирование (Реферат) |
Тема: СППР- хранилище данных |
Предмет/Тип: Менеджмент (Реферат) |
Тема: Сетевое хранилище данных |
Предмет/Тип: Информационное обеспечение, программирование (Курсовая работа (т)) |
Тема: Хранение и обработка данных с использованием линейных списков |
Предмет/Тип: Отсутствует (Курсовая работа (т)) |
Тема: Microsoft Excel - средство для создания списков и баз данных на рабочем листе |
Предмет/Тип: Отсутствует (Курсовая работа (т)) |
Интересная статья: Основы написания курсовой работы