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