Класс Двусвязный Список

  • Автор темы Автор темы delpix
  • Дата начала Дата начала
D

delpix

Реализовать Класс который имеет интерфейс АТД который включает методы для добавления, удаления, поиска элементов в соответствии с логикой работы структуры данных. структура Данных - двусвязный список
 
вы пытались решить сами?
 
Полностью задание выглядит так:
1. Реализовать (на основе лекционного материала) класс String, который представляет строку символов произвольной длины (отчет - реализация класса).
2. Разработать класс двусвязный список (DoubleList), содержащей строки String. Класс должен иметь интерфейс АТД который включает методы для добавления, удаления, поиска элементов в соответствии с логикой работы структуры данных, а также конструкторы по умолчанию и копирования, деструктор, перегруженные методы для добавления объектов из другого контейнера того же типа. Реализацию методов представить в виде заглушек, выводящих на экран названия методов и аргументы (отчет - протокол класса).
3. Протестировать контейнерный класс, создав объект и вызвав все его методы (отчет – клиентский код и вывод программы).
4. Реализовать методы контейнерного класса, заменив заглушки на конкретную реализацию (отчет – реализация методов)
5. Добавить перегрузку следующих операторов в виде методов контейнерного класса
+ добавление элемента;
+ добавление элементов;
> отношение порядка;
! реверс символов строк;
[] индексирование;
= копирование;
Добавить перегрузку следующих операторов в виде дружественных функций
- удаление элемента;
== отношение равенства 2 контейнеров;
~ обмен соседних строк в контейнере местами;
<< вывод значения контейнера в стандартный поток вывода
(отчет – объявления методов и функций в протоколе контейнерного класса).
6. Реализовать и протестировать перегруженные операторы, вызвав их в операторном и функциональном виде (отчет – реализация методов, клиентский код и вывод программы).


Я все могу сделать кроме 2рого пункта.
Может есть похожий пример двух связного списка?
 
такой класс можно встретить на каждом шагу в интернете ИМХО.
Вроде бы в книге Павловской по программированию на С++ видел нечто подобное(хотя...книжка не очень хорошая).
Там были примеры стека, дека, двусвязного списка и кольцевого вроде-бы.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab