Двунаправленный (Двусвязный) кольцевой список С++

Раздел
Программирование
Предмет
Просмотров
351
Покупок
0
Антиплагиат
Не указан
Размещена
25 Мая 2021 в 22:03
ВУЗ
Не указан
Курс
Не указан
Стоимость
500 ₽
Демо-файлы   
1
docx
1361_zadanie-1
15.3 Кбайт
Файлы работы   
1
Каждая работа проверяется на плагиат, на момент публикации уникальность составляет не менее 40% по системе проверки eTXT.
zip
Double
8.3 Мбайт 500 ₽
Описание

Описать класс для реализации работы с выбранной динамической структурой

данных, которая хранит список студентов группы. Класс должен содержать следующие,

доступные пользователю интерфейсы:

- добавление элемента после последнего;

- добавление элемента перед первым;

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

структуре отсортированы, и необходимо, чтобы добавление нового элемента не

нарушило упорядоченности);

- удаление элемента с указанной информационной частью;

- поиск элемента;

- удаление всех элементов;

- сортировка элементов;

- упорядочение текущего элемента (предполагается, что все остальные элементы

упорядочены);

- перегруженный оператор !, определяющий существование элементов в структуре

данных;

- копирование структуры данных с помощью перегруженного оператора

присваивания;

При разработке класса для работы со списками также должны быть реализованы

следующие поля и методы:

- поле (недоступное пользователю), хранящее указатель на текущий элемент;

- получение ссылки на информационную часть текущего элемента (возвращает

удачность операции);

- получение копии информационной части текущего элемента (возвращает

удачность операции);

- перегруженный оператор ++ (префиксный) для перехода к следующему

элементу;

- перегруженный оператор -- (префиксный) для перехода к предыдущему элементу

(для двунаправленного списка);

- метод, переводящий указатель на текущий элемент в начало (конец, при

необходимости) списка.

Кроме перечисленных выше полей и методов может быть реализован итератор

для работы со списком (с аналогичной функциональностью). При этом итератор

должен быть шаблонным классом, дружественным разрабатываемому.

В качестве алгоритма сортировки при работе со списками использовать сортировки,

не требующие доступа к произвольному элементу списка (например эффективные

разновидности алгоритма вставки и т.п.), а при работе с массивом  быструю сортировку

(сортировку Хоара).

При разработке класса в его методах НЕ ДОЛЖНЫ использоваться функции

ввода/вывода для работы с консолью.

Вам подходит эта работа?
Другие работы автора
Темы журнала
Показать ещё
Прямой эфир