Заменить функцию qsort на более быструю

Руслан19 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
30.11.2007

Нужно заменить функцию qsort на более быструю (не меньше чем в 10 раз). Язык С.

Есть массив из M (например, 1000) элементов, нужно найти n (например, 400) элементов с наибольшими значениями.

Важна сортировка только тех элементов, которые попадают в нужные.

Сейчас используется, но работает медленно:

int znach_cmp(const void *a, const void *b)

{

const double *ia = (const double *)a;

const double *ib = (const double *)b;

return (*ia *ib);

}

double* tmpNodes = new double [nNum];

qsort(tmpNodes, nNum, sizeof(double), znach_cmp);