`
qq1214917885
  • 浏览: 9177 次
文章分类
社区版块
存档分类
最新评论

排序函数的用法总结

阅读更多
1.qsort   功 能: 使用快速排序例程进行排序   

用 法: void qsort(void *base, int nelem, int width, int (*fcmp)(const void *,const void *));   

各参数:1 待排序数组首地址 2 数组中待排序元素数量 3 各元素的占用空间大小 4 指向函数的指针

这个函数还可以对结构体进行二级排序噢
具体案例:
struct Q
{
    int li, wi;
}haha[N];
int cmp( const void *a , const void *b )   //qsort 的配对配套使用
{
    struct Q *c = (Q *)a;
    struct Q *d = (Q *)b;
    if(c->li != d->li) return c->li - d->li;
    else return c->wi - d->wi;
 }
qsort(haha, n, sizeof(haha[0]), cmp);

当cmp返回的值>0,则a > b,当cmp返回的值< 0, 则a < b;
这里的代码是按照从小到大的升序排序。



同理,用C++的STL函数sort也可以做到。
而sort只要写sort(haha, haha+n, cmp);即可

struct star
{
	int x, y;
}S[N];
bool cmp(star a, star b)
{
	if (a.x != b.x) return a.x < b.x;
	else return a.y < b.y;
}
	sort(S+1, S + n + 1, cmp);

分享到:
评论

相关推荐

    C语言中qsort函数用法实例小结

    主要介绍了C语言中qsort函数用法,包括了针对各种数据类型参数的排序,非常具有实用价值,需要的朋友可以参考下

    SQL Server 排序函数 ROW_NUMBER和RANK 用法总结

    1.ROW_NUMBER()基本用法: SELECT SalesOrderID, CustomerID, ROW_NUMBER() OVER (ORDER BY SalesOrderID) AS RowNumber FROM Sales.SalesOrderHeader结果集:SalesOrderID CustomerID RowNumber————— ...

    php-redis中的sort排序函数总结

    主要介绍了php-redis中的sort排序函数总结,本文讲解了了按字母排序、排序取部分数据、使用外部key进行排序等排序方法,同时给出代码实例,需要的朋友可以参考下

    js sort 二维数组排序的用法小结

    我们知道在js中默认提供了sort函数,但是这个函数默认是按照数组内容的ascii码升序进行排列的,如果我们要对二维数组排序要如何做呢?在php中是有multi_sort函数可供调用的,但是在js中似乎没有这种函数,但是没关系...

    php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)

    主要介绍了php字符串比较函数用法,结合实例形式分析了php针对字符串的比较、排序等操作相关技巧与注意事项,需要的朋友可以参考下

    Python使用sorted排序的方法小结

    本文实例讲述了Python使用sorted排序的方法。分享给大家供大家参考,具体如下: # 例1. 按照元素出现的次数来排序 seq = [2,4,3,1,2,2,3] # 按次数排序 seq2 = sorted(seq, key=lambda x:seq.count(x)) print(seq2)...

    关于C++中定义比较函数的三种方法小结

    这篇文章旨在告诉大家如何为一个类定义一个排序方法,以便在STL容器或者方法中使用。 作为一个C++程序员,你应该知道这些方法。 如何定义排序? 简而言之,为一个类定义排序,我们就可以知道类的任意两个对象在排序...

    c++转置函数实验(报告+代码)

    本实验为设计性实验,注重培养学生的动手能力,通过实验使学生掌握数组的定义和使用方法 ,学习基本排序和查找算法,能够使用数组编写比较复杂的程序。

    javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)

    主要介绍了javascript数组对象常用api函数,结合实例形式总结分析了javascript针对数组的连接、删除、反转、排序、插入等操作相关函数用法,需要的朋友可以参考下

    EXCEL函数公式集

    IF函数替换法总结 查找的函数(查找末位词组) 怎样从原始数据中自动获取最后一个数据 两列数据查找相同值对应的位置 查找数据公式两个(基本查找函数为VLOOKUP,MATCH) 【输入数据的技巧】 谈谈Excel输入的技巧 一列...

    Gridview用法大总结配 实例(源码)说明

    13:在Gridview中实现排序 14:在Gridview中实现分页 15:Gridivew结合CheckBox控件的使用 16:Gridview结合DropDownList控件的使用 17:Gridview结合RadioButtom的使用 18:Gridview内嵌...

    C语言通用范例开发金典.part2.rar

    1.8 本章小结 395 第2章 数值计算 397 2.1 常见的数学函数 398 2.1.1 求整数的绝对值 398 范例2-1 求整数的绝对值 398 ∷相关函数:abs函数 2.1.2 求长整型整数的绝对值 399 范例2-2 求长整型整数的绝对值 ...

    C 开发金典

    1.8 本章小结 395 第2章 数值计算 397 2.1 常见的数学函数 398 2.1.1 求整数的绝对值 398 范例2-1 求整数的绝对值 398 ∷相关函数:abs函数 2.1.2 求长整型整数的绝对值 399 范例2-2 求长整型整数的绝对值 ...

    C语言通用范例开发金典.part1.rar

    1.8 本章小结 395 第2章 数值计算 397 2.1 常见的数学函数 398 2.1.1 求整数的绝对值 398 范例2-1 求整数的绝对值 398 ∷相关函数:abs函数 2.1.2 求长整型整数的绝对值 399 范例2-2 求长整型整数的绝对值 ...

    MySQL排序中使用CASE WHEN的方法示例

    在之前的一个项目中,使用到了SQL中使用 CASE WHEN 排序的功能。现在写篇博客备忘~ 数据库版本:MySQL 5.6.42 条件: 某字段代表该数据的状态取值为非负整数,0表示无状态。 需求: 以该字段升序排序,同时需要将值...

    linux shell 编程教程

    1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...

    shell 编程指南pdf

    1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...

Global site tag (gtag.js) - Google Analytics