用于C++中,对给定区间所有元素进行排序。头文件是#include <algorithm>

sort函数进行快速排序,时间复杂度为n*log2n,比冒泡之类的要省时不少

Sort函数使用模板:

Sort(start,end,排序方法)

1.第一个参数是要排序数组的起始地址

2.第二个参数是数组结束地址的下一位

3.第三个是排序的方法,可不填,默认升序

一般是直接对数组进行排序,例如对数组a[10]排序,sort(a,a+10)就行了。

而sort函数的强大在与cmp函数的使用,即排序方法的使用

一,如何对数组降序排序呢?

bool cmp(int a,int b)
{
return a>b;
//return a>b?true:false;等价
}

然后sort(a,a+10,cmp)就可以降序排序了

二,如何对字符串进行排序呢?

假设创建了字符串数组

bool cmp(string a,string b)
{
return a<b;
}

然后sort(s,s+n,cmp)就可以对很多个字符串进行排序了

三,如何对结构体进行排序呢?

假设自己定义了一个结构体node

有一个node类型的数组node arr[100],想对它进行排序:先按a值升序排列,如果a值相同,再按b值降序排列,如果b还相同,就按c降序排列。就可以写这样一个比较函数:

以下是代码片段:

struct node
{
int a;
int b;
double c;
}
bool cmp(node x,node y)
{
if(x.a!=y.a) return x.a<y.a;
if(x.b!=y.b) return x.b>y.b;
return x.c>y.c;
}

以上就是比较常用的了。

最新文章

  1. JQ+rotate插件实现图片旋转,兼容IE7+ \ CHROME等浏览器
  2. SQL 列拆分
  3. Vue实现商城里面多个商品计算,全选,删除
  4. 【38】java的集合框架(容器框架)
  5. Python模块的导入以及软件开发规范
  6. 解决find命令报错: paths must precede expression
  7. 使用requests模块保存网络上的图片
  8. hdu6330 多校3 L 画一个cube
  9. bzoj2086: [Poi2010]Blocks DP,单调栈
  10. Java中如何遍历Map对象
  11. iOS 自定义日志输出
  12. jQuery 遍历 - eq() 方法 查找当前元素
  13. BZOJ2039_employ人员雇佣_KEY
  14. PID控制算法的C语言实现六&#160;抗积分饱和的PID控制算法C语言实现
  15. Mockjs生成Vue数据表格
  16. 爬虫——URL模块爬取糗事百科段子
  17. POJ 3264 Balanced Lineup 【线段树/区间最值差】
  18. Python之code对象与pyc文件(三)
  19. Django框架基础知识03-模板变量及模板过滤器
  20. Python数据类型方法

热门文章

  1. Asp 6种页面转向方法
  2. BZOJ 4951 [WF2017]Money for Nothing (决策单调优化DP+分治)
  3. Oracle与Mysql内嵌游标的使用示例
  4. js 时间转换
  5. js中“使用”el表达式
  6. 人人都能当大厨的语音做菜神器——demo试用
  7. Java測试覆盖率工具----Cobertura,EclEmma
  8. .NET 图片解密为BASE64
  9. JMX学习笔记(一)-MBean
  10. STL_算法_依据第n个元素排序(nth_element)