Чтобы удалить дубликаты из массива, создайте метод, который:
- сортирует массив
- считает уникальные значения
- создает новый массив, который имеет размеруникальные значения
- начинают копирование из одного массива в другой, когда их значения различаются
Чтобы использовать быструю сортировку в c, вам нужна функция сравнения, такая как:
int comp(const void *x, const void *y) {
return (*(int*)x - *(int*)y);
}
И затем вы можете вызвать его с помощью:
qsort(array, 10, sizeof(int), comp);
Чтобы подсчитать уникальные элементы в отсортированном массиве, выполните итерацию по массиву и выполните что-то вроде:
if(sortedarray[i]!=sortedarray[i+1]) count++;