C——qsort()排序指针数组的概括用法

qsort(   【* 指针,解引用后指向的是 等待排序的元素的类型 的指针数组 】,【count,数组中的指针解引用后的元素的数量】,【size,数组中的指针解引用后的元素的大小】 ,compare 【compare是回调函数,没有()】)

int compare(const void *p1,const void *p2) {
pNode_t pa = (pNode_t)p1;
pNode_t pb = (pNode_t)p2;
return (*pa).【排序元素】 - (*pb).【排序元素】;  这是升序排序
}

以排序Node_t类型元素为例子:

    pNode_t a = (pNode_t )calloc(count, count * sizeof(Node_t));
    pNode_t p = pHead;
    for (int i = 0; i < count; i++) {
        a[i] = *p;
        p = p->next;
    }

    qsort(a, count, sizeof(Node_t), compare);

 

posted on 2021-02-06 21:41  平ping  阅读(266)  评论(0)    收藏  举报