ip地址的快速排序

来源:互联网 发布:丰臣秀吉大明朝知乎 编辑:程序博客网 时间:2024/06/07 20:27

qsort:是快速排序的一个系统函数,用它来实现数组排序比较方便,由于ip地址的特殊格式,使用qsort的排序会非常的容易。


int cmpcam(const void * p1,const void * p2)
{
    IP* c1=(IP *)p1;
    IP* c2=(IP *)p2;
    unsigned long l1=htonl(inet_addr(c1->ipAddr));
    unsigned long l2=htonl(inet_addr(c2->ipAddr));
    int l=l1-l2;
    return l;
}


int a(.....)

{

    ....

    qsort(&ipInfo,num,sizeof(IP), cmpcam);

    ....

}

ipInfo:待排序的ip地址的首地址,

num:ip地址的个数,

sizeof(IP):每个ip地址所在结构体中占用的大小

campcam:排序的核心函数。
0 0