Завершено
3
12.04.2022, 05:50
04.05.2022, 06:00
Реализовать функцию, проверяющую двусвязный список на палиндромность (палиндром одинаково читается как с начала, так и с конца).
int dlist_palindrome(DList *head, int (*cmp)(Pointer d1, Pointer d2));
Функция возвращает 1 (палиндром) или 0 (не палиндром).
Функция по указателю cmp
сравнивает два элемента и возвращает 0, если они равны. Она используется для определения палиндромности. Например, для списка строк она будет реализована через strcmp
.
Пустой список и список из 1 элемента являются палиндромами.
Протестировать реализацию с помощью assert
для не менее двух различных функций сравнения.
Задача опирается на задачу «Двусвязные списки».