1、sort函数的时间复杂度为n*log2(n),执行效率较高。

2、sort函数的形式为sort(first,end,method)//其中第三个参数可选。

3、若为两个参数,则sort的排序默认是从小到大,见如下例子

  1. #include<iostream>
  2. #include<algorithm>
  3. using namespace std;
  4. int main()
  5. {
  6. int a[10]={9,6,3,8,5,2,7,4,1,0};
  7. for(int i=0;i<10;i++)
  8. cout<<a[i]<<endl;
  9. sort(a,a+10); //可以看出,两个参数为均地址,a为起始,a+10为结束位置
  10. for(int i=0;i<10;i++)
  11. cout<<a[i]<<endl;
  12. return 0;
  13. }
#include<iostream>

#include<algorithm>

using namespace std;

int main()

{

  int a[10]={9,6,3,8,5,2,7,4,1,0};

  for(int i=0;i<10;i++)

  cout<<a[i]<<endl;

  sort(a,a+10); //可以看出,两个参数为均地址,a为起始,a+10为结束位置

  for(int i=0;i<10;i++)

  cout<<a[i]<<endl;

  return 0;

}

4、若为三个参数,则需要写一个cmp函数(此名称cmp可变),用于判断是从小到大排序还是从大到小排序。

(1)需要排序的数组直接为int类型,则见如下例子(从大到小排序)

  1. #include <algorithm>
  2. #include <iostream>
  3. using namespace std;
  4. bool com(int a,int b)
  5. {
  6. return a>b;
  7. }
  8. int main()
  9. {
  10. int a[10]={9,6,3,8,5,2,7,4,1,0};
  11. for(int i=0;i<10;i++)
  12. cout<<a[i]<<endl;
  13. sort(a,a+10,com);//在这里就不需要对com函数传入参数
  14. for(int i=0;i<10;i++)
  15. cout<<a[i]<<endl;
  16. return 0;
  17. }
#include <algorithm>
#include <iostream>
using namespace std; bool com(int a,int b) { return a>b; } int main() { int a[10]={9,6,3,8,5,2,7,4,1,0}; for(int i=0;i<10;i++) cout<<a[i]<<endl; sort(a,a+10,com);//在这里就不需要对com函数传入参数 for(int i=0;i<10;i++) cout<<a[i]<<endl; return 0; }

(2)如果想依照一个结构体内的一个int型的属性参数进行排序,则见如下例子(从大到小排列)

    1. #include <iostream>
    2. #include <algorithm>
    3. using namespace std;
    4. struct node {
    5. int a;
    6. //.........
    7. //
    8. };
    9. bool cmp(node x,node y)
    10. {
    11. if(x.a != y.a)
    12. return (x.a > y.a);
    13. }
    14. void main(void)
    15. {
    16. int i;
    17. node N_t[5];
    18. for(i=0; i<5; i++)
    19. {
    20. cin>>N_t[i].a;
    21. }
    22. sort(N_t, N_t+5, cmp);
    23. for(i=0; i<5; i++)
    24. {
    25. cout<<N_t[i].a;
    26. }
    27. }

#include <algorithm>中sort的一般用法的更多相关文章

  1. <algorithm>中sort()函数的用法

    先说一下,本篇文章我没有讲sort()实现排序的原理,我写在另一篇文章中了,如果想了解的话,可以看一下,附上链接:https://www.cnblogs.com/buanxu/p/12772700.h ...

  2. C++<algorithm>中sort的比较函数写法(转)

    转自:http://www.wl566.com/biancheng/98907.html C++<algorithm>中sort的比较函数写法,有需要的朋友可以参考下. 定义排序函数: 方 ...

  3. JS中sort()方法的用法,参数以及排序原理

    sort() 方法用于对数组的元素进行排序,并返回数组.默认排序顺序是根据字符串Unicode码点.语法:arrayObject.sort(sortby):参数sortby可选.规定排序顺序.必须是函 ...

  4. python中sort和sorted用法的区别

    Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列 一,最简单的排序 1.使用sort排序 my_list = [3 ...

  5. c++中sort基础用法

    用法一:数组排序 对一个数组进行升序排序 #include <algorithm> #include <iostream> #include <cstdio> us ...

  6. STL之sort函数的用法

    说明:本文仅供学习交流,转载请标明出处,欢迎转载! STL封装了一个排序算法,该算法相应的头文件为#include<algorithm>,我们能够依据须要对一个数组进行排序或者降序. so ...

  7. 转载 从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法

    转载自:http://www.cnblogs.com/cj695/p/3863142.html sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级.本文就sort函数在 ...

  8. 【转】 从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法

    sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级.本文就sort函数在vector中的用法分为sort函数入门用法与自定义comp比较函数比较结构体这两个最基本的功能 ...

  9. C++ 中的sort()排序函数用法

    sort(first_pointer,first_pointer+n,cmp) 该函数可以给数组,或者链表list.向量排序. 实现原理:sort并不是简单的快速排序,它对普通的快速排序进行了优化,此 ...

随机推荐

  1. 如何在 CentOS 7 中安装、配置和安全加固 FTP 服务

    步骤 1:安装 FTP 服务器 1. 安装 vsftpd 服务器很直接,只要在终端运行下面的命令. # yum install vsftpd 2. 安装完成后,服务先是被禁用的,因此我们需要手动启动, ...

  2. 【laravel5.4】关键字【use】使用

    1.在namespace 和 class 之间使用,是引入类文件的意思,命名空间过长或者类文件同名,可以使用[as]区别 2.在class 类里面使用[use],是导入trait  类的意思,多继承的 ...

  3. spring注解 di 和 ioc 注解

    注解: 1.注解就是为了说明java中的某一个部分的作用(Type) 2.注解都可以用于哪个部门是@Target注解起的作用 3.注解可以标注在ElementType枚举类所指定的位置上 4. @Do ...

  4. SQLAlchemy基本使用(Flask中)

    SQLAlchemy介绍 SQLAlchemy是一个基于Python实现的ORM框架. 该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数据 ...

  5. HDUOJ-------2844Coins

    Coins Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  6. HDUOJ-----(1251)统计难题

    统计难题 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others) Total Subm ...

  7. BasicAuth和OAuth

    参考资料 百度百科BasicAuth 维基百科OAuth BasicAuth基本授权 BasicAuth又叫HttpAuth,它非常简单.例如你访问一个页面时,会弹出用户名密码框 它的优点是:简单,只 ...

  8. Quartz.net官方开发指南[转]

    http://www.cnblogs.com/shanyou/category/102991.html

  9. razor----js

    <script> $(document).ready(function () { // 2  直接加引号转换 var SpecialAptitude = '@Model.SpecialAp ...

  10. shutdown 与 close 函数 的区别

    假设server和client 已经建立了连接,server调用了close, 发送FIN 段给client(其实不一定会发送FIN段,后面再说),此时server不能再通过socket发送和接收数据 ...