• c语言快速排序的库函数整理


    这些库函数都是在平时编程中经常调用的快排函数
    View Code
    以下所介绍的所有排序都是从小到大排序
    快速排序的库函数都包含在头文件名为<stdlib.h><1>对int型数组排序
    int num[100];
    int cmp(const void *a,const void *b)
    {
        return *(int *)a-*(int *)b;
    }
    int main()
    {
        ......
            qsort(num,100,sizeof(num[0]),cmp);
        return 0;
    }
    <2>对char型数组排序
    char st[100];
    int cmp(const void *a,const void *b)
    {
        return *(char *)a-*(char *)b;
    }
    int main()
    {
        ......
            qsort(st,100,sizeof(st[0]),cmp);
        return 0;
    }
    <3>对double型数组排序
    double f[100];
    int cmp(const void *a,const void *b)
    {
        return ((*(double *)a-*(double *)b>0)?1:-1);
    }
    int main()
    {
        ......
            qsort(f,100,sizeof(f[0]),cmp);
        return 0;
    }
    <4>对结构体排序
    struct node
    {
        double data;
        int flag;
    }f[100];
    int cmp(const void *a,const void *b)
    {
        return (((struct node *)a)->data>((struct node *)b)->data?1:-1);
    }
    int main()
    {
        ......
            qsort(f,100,sizeof(f[0]),cmp);
        return 0;
    }
    <5>对结构体的二级排序
    struct node
    {
        double data;
        int flag;
    }f[100];
    int cmp(const void *a,const void *b)
    {
        if(((struct node *)a)->data != ((struct node *)b)->data)
            return (((struct node *)a)->data > ((struct node *)b)->data?1:-1);
        else
            return (((struct node *)a)->flag-((struct node *)b)->flag);
    }
    int main()
    {
        ......
            qsort(f,100,sizeof(f[0]),cmp);
        return 0;
    }
    <6>对字符串数组的排序
    int st[100];
    int cmp(const void *a,const void *b)
    {
        return strcmp((char *)a,(char *)b);//根据字典序进行比较排序
    }
    int main()
    {
        ......
            qsort(st,100,sizeof(st[0]),cmp);
        return 0;
    }
    <7>对指针数组的排序
    char *s[100];//定义一个指针的数组
    int cmp(const void *a,const void *b)
    {
        return (strcmp(*(char**)a,*(char**)b));//这里用char**表示指针的指针
    }
    int main()
    {
        ......
        qsort(s,100,sizeof(s[0]),cmp);
        return 0;
    }
  • 相关阅读:
    课后作业-阅读任务-阅读提问-3
    团队-团队编程项目作业名称-团队一阶段互评
    结对-四则运算答题器-结对项目总结
    课后作业-阅读任务-阅读笔记
    团队-科学计算器-开发文档
    团队编程项目作业6-程序维护
    课后作业-团队编程项目总结
    课后作业-阅读任务-阅读提问-4
    课后作业-阅读任务-阅读笔记-4
    个人编程作业2
  • 原文地址:https://www.cnblogs.com/SDUTYST/p/2598924.html
Copyright © 2020-2023  润新知