qsort с двойной структурой ptr [c] - PullRequest
0 голосов
/ 26 января 2019

Моя структура объявлена ​​как:

#define Pairs struct pairs

struct pairs {
  char *s;
  int occur;
  Pairs *next;
};

и в основном я объявляю свою двойную точку как

void main() {
    Pairs **nTable =  newFilledTable(hashTable,htSize,elementsCount);
    qsort(nTable, elementsCount, sizeof(Pairs*), comparator);
}

, где моя newFilledTable устанавливает таблицу [i] = aPairsPtr, а моя функция сравнения -

int comparator(const void* p, const void* q){    /* Function to compare two elements/nodes for the qsort() function */
    Pairs vp,vq;
    vp = *(Pairs *)p;
    vq = *(Pairs *)q;
    return vp.occur-vq.occur;
}

но это не хочет сортировать таблицу, я должен установить свою таблицу как 1d массив? ([]) а не двойной ptr?

...