Очередь на массиве. Java.

Бюджет: по договоренности
1. Найдите инвариант структуры данных очередь. Определите функции, которые необходимы для реализации очереди. Найдите их пред- и постусловия.   

2. Реализуйте классы, представляющие циклическую очередь с применением массива.   
- Класс ArrayQueueModule должен реализовывать один экземпляр очереди с использованием переменных класса.   
- Класс ArrayQueueADT должен реализовывать очередь в виде абстрактного типа данных (с явной передачей ссылки на экземпляр очереди).   
- Класс ArrayQueue должен реализовывать очередь в виде класса (с неявной передачей ссылки на экземпляр очереди).   
- Должны быть реализованы следующие функции (процедуры) / методы:   
a) enqueue  добавить элемент в очередь;   
b) element  первый элемент в очереди;   
c) dequeue  удалить и вернуть первый элемент в очереди;   
d) size  текущий размер очереди;   
e) isEmpty  является ли очередь пустой;   
f) clear  удалить все элементы из очереди.   
- Инвариант, пред- и постусловия записываются в исходном коде в виде комментариев.   
- Обратите внимание на инкапсуляцию данных и кода во всех трех реализациях.   

3. Напишите тесты реализованным классам.   

В дополнение к коду нужны объяснения работы тех или иных методов, функций. Пред- и постусловия обязательны. Срок выполнения до 19.11.2018. Прикрепил файл откомпилированных тестов, которые должна проходить программа. Классы должны находиться в пакете queue.
Опубликован 21.11.2018 в 12:31 Последнее изменение: 21.11.2018 в 12:31

Выберите способ верификации:

Обновите страницу после прохождения верификации.