C++ 中的sort排序用法

STL中就自带了排序函数sortsort 对给定区间所有元素进行排序  要使用此函数只需用#include <algorithm> sort即可使用,语法描述为:sort(begin,end),表示一个范围,例子:#include <algorithm>int main(){ int a[20]={2,4,1,23,5,76,0,43,24,65},i; for(i=0;i<20;i++)  cout<<a[i]<<endl; sort(a,a+20); for(i=0;i<20;i++) cout<<a[i]<<endl; return 0;}输出结果将是把数组a按升序排序,说到这里可能就有人会问怎么样用它降序排列呢?这就是下一个讨论的内容.一种是自己编写一个比较函数来实现,接着调用三个参数的sort:sort(begin,end,compare)就成了。对于list容器,这个方法也适用,把compare作为sort的参数就可以了,即:sort(compare).

1)自己编写compare函数:bool compare(int a,int b){  return a<b; //升序排列,如果改为return a>b,则为降序}#include <algorithm>int main(){  int a[20]={2,4,1,23,5,76,0,43,24,65},i;  for(i=0;i<20;i++)  cout<<a[i]<<endl;  sort(a,a+20,compare);  for(i=0;i<20;i++)  cout<<a[i]<<endl;  return 0;}
时间: 2024-08-27 11:22:49

C++ 中的sort排序用法的相关文章

c#中list sort排序

1.List.Sort (泛型 Comparison) 法 此方法的参数是Comparison类型,其实是一个包含两个参数的委托,因此使用此方法,我们只需要定义一个委托,其两个参数均为Student类型,在委托实现的方法比较两个Student对象的Age属性即可. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace GenericCompare {     

Java中Collections.sort()的用法

Java中Collections.sort()的使用: 在日常开发中,很多时候都需要对一些数据进行排序的操作.然而那些数据一般都是放在一个集合中如:Map ,Set ,List 等集合中.他们都提共了一个排序方法 sort(),要对数据排序直接使用这个方法就行,但是要保证集合中的对象是可比较的. 怎么让一个对象是 可比较的,那就需要该对象实现 Comparable<T> 接口啦.然后重写里面的compareTo()方法.我们可以看到Java中很多类都是实现类这个接口的 如:Integer,Lo

java中Collections.sort() 排序函数的用法

用Collections.sort方法对list排序有两种方法第一种是list中的对象实现Comparable接口,如下: /*** 根据order对User排序*/public class User implements Comparable<User>{    private String name;    private Integer order;    public String getName() {        return name;    }    public void 

模拟javascript中的sort排序

一.javascript中sort对数据进行排序的原理 sort() 方法对数组的元素做原地的排序,并返回这个数组. sort 可能不是稳定的.默认按照字符串的Unicode码位点排序; 语法:arr.sort([compareFunction]) 参数 compareFunction 可选.用来指定按某种顺序进行排列的函数.如果省略,元素按照转换为的字符串的诸个字符的Unicode位点进行排序. 如果 compareFunction(a, b) 小于 0 ,那么 a 会被排列到 b 之前:如果

java中Collections.sort排序详解

Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能:如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f,g这样,当然数字也是这样的.compare(a,b)方法:根据第一个参数小于.等于或大于第二个参数分别返回负整数.零或正整数.equals(obj)方法:仅当指定的对象也是一个 Comparator,并且强行实施与此 Comparator 相同的排序时才返回 true. Collections.so

[转]java中Collections.sort排序详解

Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能:如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f,g这样,当然数字也是这样的. compare(a,b)方法:根据第一个参数小于.等于或大于第二个参数分别返回负整数.零或正整数. equals(obj)方法:仅当指定的对象也是一个 Comparator,并且强行实施与此 Comparator 相同的排序时才返回 true. Collections.

js中arr.sort的用法

sort(sortfunction)为JS的数组对象(Array)的一个方法,提供排序功能 参数 sortFunction 为可选项,是用来确定排序原则的js函数, 这个函数有两个参数,分别代表每次排序比较时的两个数组项, 如果这个函数的返回值小于0 则不交换原数组中元素的位置,否则交换原数组中元素的位置. 如果这个参数被省略, 那么元素将按照 ASCII 字符顺序进行升序排列. Demo1默认按字母排序 var arr = ['b','cc','abc','fzj','xij','acd','

Java中Collections.sort()排序详解

第一种:Comparable 排序接口 若一个类实现了Comparable接口,就意味着"该类支持排序". 假设"有一个List列表(或数组),里面的元素是实现了Comparable接口的类",则该List列表(或数组)可以通过 Collections.sort(或 Arrays.sort)进行排序. 此外,"实现Comparable接口的类的对象"可以用作"有序映射(如TreeMap)"中的键或"有序集合(Tree

关于vector中自定义sort排序规则

本文是从我一个实际的程序摘出来,因此没有太多的叙述性的东西 首先呢 sort需要一个头文件  #include<algorithm> 这种排序主要针对的是自定义的vector类型 如: typedef struct AD {     int len;     string name; }ad; vector<ad> adtemp; 对adtemp排序,首先需要自己设定排序规则,当然了还是根据int型变量比较好排序啦,因为是自定义结构体所以方便和实用为关键哈 ok 排序规则 //这是