МЕНЮ:
Аналитик | Постановщик задач | Проектировщик | Программист | Программист БД
Инженер по тестированию | Тестировщик | Инженер по документированию
Инженер по внедрению | Инженер поддержки | Менеджер проекта | Менеджер подразделения
Менеджер по продажам | Менеджер по маркетингу | Администратор | Администратор БД
Литература | Контакты
\

Книга Жемчужены творчества программистов на IT БАЗАР

10. Я реализовал очередь с приоритетами на базе пирамиды с использованием языка Си++ (см. книгу Строустрапа "Язык программирования Си++", Stroustrup. C++ Programming Language, выпущенную издательством Addison-Wesley в 1406 г.). Для членов, принадле­жащих классу очередей с приоритетами (pnqueue), определяются следующие атрибуты:
class priqueue {
ini n, max size;
float Xx;
void swap(int,int>;
lnt heap<int,int); public:
priqueue(int);
void insert(float);
float extractminO;
>;
Определения под заголовком public доступны всем пользователям класса, тогда как определения, обозначенные private (переменные и процедуры), доступны только конк­ретному разработчику. В данном случае пользователи видят только процедуры insert и extractmin и (неявно) следующую процедуру, которая формирует элемент этого класса (имя процедуры совпадает с именем класса):
pri queue : :priqueue (int ш)
( if (ш , 1) error ("Ошибка в равмере"");
maxsize = m;
x = new floaUmaxsize+13;
n = 0;
)
Эта процедура проверяет максимальный размер приоритетной очереди, запоминает его в ячейке maxsize, выделяет новый массив и устанавливает начальное значение для п. При объявлении массива указывается размер maxsize + 1, так как массивы в языке Си++ счи­таются с нулевого элемента, а в пирамидах используется индексация с 1. В моей реализа­ции использовалось макроопределение ASSERT для проверки инварианта структуры данных:
«define ASSERT(e) if (1(e)) error ("Утверждение не вытолнено")
Макроопределения в языке Си++ такие же, как и в языке Си. Класс приоритетных очере­дей имеет функцию типа private, которая имеет значение "истина" (возвращает на выхо-


Страница №260
*
Зайцев нет
© "IT БАЗАР", 2003. Все права защищены. Создание: © "z-group" студия веб-дизайна, 2003.
Также может поискать работу на прямую в следуйщих организациях:
IT БАЗАР