具有双重ptr结构的qsort [c]

时间:2019-01-26 19:46:20

标签: arrays pointers struct double qsort

我的结构声明为:

#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;
}

但是这不想对表进行排序,我是否必须将表设置为一维数组? (a [])而不是两倍的点数?

0 个答案:

没有答案