Как я могу найти количество операций сравнения для qsort ()? - PullRequest
0 голосов
/ 21 февраля 2019

Как я могу узнать количество операций сравнения для qsort?

У меня есть массив указателей, которые должны быть отсортированы.Этот массив указателей указывает на массив структур.

struct oristru {
    char string1[TITLE_FIELDLENGTH];
    char string2[AUTHORS_FIELDLENGTH];
    short int 1;
};


const struct oristru oristrukts[] = { ...}

const struct oristru *temp_oristru[ARRAYLEN(oristrukts)];
struct oristru *p_sortst[ARRAYLEN(oristrukts)];

qsort(*p_sortst, ..);

1 Ответ

0 голосов
/ 21 февраля 2019

Предположим, вы сортируете с помощью функции fx()

qsort(..., fx);

просто настроить fx()

// global var to count comparisons
unsigned long ncomp = 0;

int fx(const void *a, const void *b) {
    ncomp++;
    /* return ...; */
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...