c++快速排序标准函数

来源:互联网 发布:mysql update 删除 编辑:程序博客网 时间:2024/06/10 04:21

原型void qsort(void *base,int nelem,unsigned int width,int (*fpCompare)(const void*,const void*));

比较函数是

int 函数名(const void * elem1,const void elem2);

1在2前 返回负数

1==2 返回0

1在2后 返回整数

#include <stdio.h>

#include <cstring>
#include <stdlib.h>
#include <cmath>
#include <mem.h>
int MyCompare(const void *elem1,const void *elem2)
{
    unsigned int *p1,*p2;
    p1 = (unsigned int*)elem1;
    p2 = (unsigned int*)elem2;
    return (*p1%10)-(*p2%10);
}
#define NUM 5
int main()
{
    unsigned int an[NUM] = {8,123,11,10,4};
    qsort(an,NUM,sizeof(unsigned int),MyCompare);
    for(int i=0;i<NUM;i++)
    {
        printf("%d ",an[i]);
    }
    return 0;
}