Цель: освоить основные приемы программирования динамического односвязного списка в виде функциональной декомпозиции алгоритмов основных операций.
Теоретическая подготовка: Учебное пособие - Связные списки
Задание
1. Общее задание (10 баллов). Написать функции основных алгоритмов обработки односвязных списков. Написать программу, тестирующую все функции. Реализовать следующие операции со односвязным списком:
a) добавлении(включение) элемента начало/конец списка – addHead(), addTail();
b) добавление/включение узла в указанную позицию связанного списка - insert();
c) удаление(исключение) элемента из начала/конеца списка – removeHead(),removeTail();
d) удаление указанного узла из связанного списка remove();
e) очистить список (удаление всех узлов) removeAll();
f) вывод содержания связанного списка - outList ();
g) поиск указателя узла по позиции и/или по значению data - findData(), findPos();
h) проверка списка на пустоту isEmpty().
i) извлечение (вернуть) значение поля данных из указанного узла retrieve();
2. Задание по вариантам (10 баллов). Использовать функции операций над односвязным списком (см. п.1) для разработки функций следующих операций:
G. Размещение элементов списка в возрастающем порядке.
3. Дополнительные задания (5 баллов). Реализуйте функции итератора curr (текущий указатель) для доступа к элементам списка с операциями: 1) установка на начало списка,2) проверка конца списка,3) доступ к значению текущего элемента,4) переход к следующему элементу списка, 5) переход к предыдущему элементу списка (для списков на базе массива или двусвязных структур).
p.s комментарии к коду желательны тк код особо не знаю, буду благодарен)
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |