sort功能使用

头:

#include <algorithm>

using namespace std;

1.默认的sort函数是按升序排序。

sort(a,a+n);                //两个參数分别为待排序数组的首地址和尾地址

2.能够自己写一个cmp函数,按特定意图进行排序。

比如 :

1).对数组a降序排序

int cmp( const int &a, const int &b ){

if( a > b )

return 1;

else

return 0;

}

sort(a,a+n,cmp);

2).先按x升序排序,若x值相等则按y升序排

int cmp( const POINT &a, const POINT &b ){

if( a.x < b.x )

return 1;

else

if( a.x == b.x ){

if( a.y < b.y )

return 1;

else

return 0;

}

else

return 0;

}

sort(a,a+n,cmp);

版权声明:本文博客原创文章,博客,未经同意,不得转载。

时间: 2024-11-05 16:09:36

sort功能使用的相关文章

建议11:增强数组排序的sort功能

sort方法不仅按字母顺序进行排序,还可以根据其他顺序执行操作.这时就必须为方法提供一个比较函数的参数,该函数要比较两个值,然后返回一个用于说明这两个值得相对顺序的数字.比较函数应该具有两个参数a和b,其返回值如下: 如果根据自定义评判标准,a小于b,在排序后的数组中a应该出现在b之前,就返回一个小于0的值 如果a等于b,就返回0 如果a大于b,就返回一个大于0的值 下面的示例中,将根据比较函数来比较数组中每个元素的大小,并按从小到大顺序排序 function f(a,b){ return (a

linux 中sort 的用法

sort 功能:逐行对文件中的内容进行排序,如果两行的首字母相同,继续比较这两行的下一个字符,依此类推 语法:    sort [选项]  文件 sort 排序是对指定文件中所有的行进行反序,并将结果显示在标准输出上,如不指定输入文件或者使用"-",则表示排序内容来自标准输入 sort 排序是根据从输入行抽取的一个或多个关健字进行比较来完成的,排序关键字用来排序的最小的字符序列,缺省情况下,以整行按 ASCII 字符顺序进行排序 改变缺省设置的选项有: -m    若给定文件已排好序,

一个关于awk命令和sort命令的小例子

假设现在有如下一个txt的文本记录: a|b|c|150203161843.289||| 1|2|c|150203161843.300||| a|m|c|150203161943.289||| |b|c|150203162843.289||| a||c|150203171843.289||| 按|分割后的第四个域表示的时间,假设现在需要把第四个域单独提取到一个文件中,那么使用下面的命令即可完成: cat test.txt | awk -F "|" '{print $4}' 结果如下:

Hadoop-2.2.0中文文档—— MapReduce下一代- 可插入的 Shuffle 和 Sort

简介 可插入的 shuffle 和 sort 功能,允许在shuffle 和 sort 逻辑中用可选择的实现类替换.这个情况的例子是:用一个不是HTTP的应用协议,如RDMA来 shuffle 从Map节点中到Reducer节点的数据:或者用自定义的允许 Hash聚合和Limit-N查询的算法来代替sort逻辑. 重要: 可插入的 shuffle  sort 功能是实验性的.不稳定.这意味着提供的API可能改变或破坏未来Hadoop版本的兼容性. 实现一个自定义的 Shuffle 和 Sort

linux sort uniq命令详解

sort 功能说明:将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序. sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件] -b   忽略每行前面开始处的空格字符 . -c   检查文件是否已经按照顺序排序. -d   排序时,处理英文字母.数字及空格字符外,忽略其他的字符. -f   排序时,将小写字母视为大写字母. -i   排序时

egrep及文本处理工具

egrep: 能够实现文本处理的三剑客: 文本过滤工具:grep (其实grep家族中有三个工具,也就是实现文本过滤的工具有三个,grep,                                       egrep,fgrep) 文本编辑工具:sed 文本报告生成器(格式化文本):awk 其实文本过滤工具除了grep之外还有egrep,fgrep grep:基本正则表达式: -E:选项表示支持扩展正则表达式: -F:选项表示支持fgrep正则表达式: egrep:扩展正则表达式:

高手详解SQL性能优化十条经验

1.查询的模糊匹配 尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用. 解决办法: 其实只需要对该脚本略做改进,查询速度便会提高近百倍.改进方法如下: a.修改前台程序——把查询条件的供应商名称一栏由原来的文本输入改为下拉列表,用户模糊输入供应商名称时,直接在前台就帮忙定位到具体的供应商,这样在调用后台程序时,这列就可以直接用等于来关联了. b.直接修改后台——根据输入条件,先查出符合条件的供应商,并把相关记录保存在一个

Oracle SQL性能优化

转载自:http://www.cnblogs.com/rootq/archive/2008/11/17/1334727.html (1)      选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.如果有3个以上的表连接查询, 那就需要选择交叉表(intersection ta

SQL优化经验

SQL 优化经验总结34条 我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习.摘录.并汇总部分资料与大家分享! (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.如果有3个以上的表连接查询, 那就需要选择交叉表(intersection tabl