Уничтожение дублирующихся элементов в списке
Завершено
3
17.02.2020, 08:11
02.03.2020, 10:13
Реализовать функцию, убирающую дублирующиеся элементы в односвязном списке.
void slist_unique(SList *head, int (*cmp)(Pointer d1, Pointer d2));
Функция по указателю cmp
сравнивает два элемента и возвращает 0, если они равны. Она используется для проверки на дубли. Например, для списка строк она будет реализована через strcmp
.
Пример: список A->B->B->A->D->A->Q будет урезан до A->B->D->Q.
Протестировать реализацию с помощью assert
для не менее двух различных функций сравнения.
Задача опирается на «Связанные списки».