用了这么久的sort排序,但是一直没有对他进行总结。

      像我这样的蒟蒻有了sort排序就再也没有看过快排、冒泡排序、桶排序了......

sort的头文件<algorithm>

    存在于C++标准库内的函数,我们其实并不需要知道他的原理,只要会用就行了;;;

  sort函数有三个参数

  sort(a,b,c)

  1. a表示要排序的数组的起始位置
  2. b表示要排序的数组的结束地址(最后一位要排序的地址)
  3. c是排序的方法,如果不写则默认从小到大排序

Sort函数使用模板: Sort(start,end,排序方法)

  使用sort函数主要的方法就是在参数c上做文章

  如想实现从大到小排序

      可以自己写一个比较函数

bool complare(int a,int b)
{
return a>b;
}

  

具体操作就是:

先搞好参数c,即做一个比较函数 cmp   ↑  

然后sort(a,b,cmp)即可

这样做还是有点麻烦,因为还需要自己编写告诉程序进行何种排序的函数,c++标准库强大的功能完全可以解决这种麻烦。

Sortt函数的第三个参数可以用这样的语句告诉程序你所采用的排序原则:

less<数据类型>()//从小到大排序

greater<数据类型>()//从大到小排序

sort(a,b,c<int>());

#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,less<int>());//从小到大排序
for(int i=0;i<10;i++)
cout<<a[i]<<endl;
return 0;
}

  

#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,greater<int>());//从大到小排序
for(int i=0;i<10;i++)
cout<<a[i]<<endl;
return 0;
}

  

另外,sort函数也可以实现对字符的排序

sort(a,b,c<char>());

如对"asdfghjklk"进行排序

从大到小排序

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
char a[11]="asdfghjklk";
for(int i=0;i<10;i++)
cout<<a[i]<<endl;
sort(a,a+10,greater<char>());
for(int i=0;i<10;i++)
cout<<a[i]<<endl;
return 0;
}

  

从小到大排序

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
char a[11]="asdfghjklk";
for(int i=0;i<10;i++)
cout<<a[i]<<endl;
sort(a,a+10,less<char>());
for(int i=0;i<10;i++)
cout<<a[i]<<endl;
return 0;
}

  

sort函数的用法与实验的更多相关文章

  1. C++ sort()函数的用法

    C++sort()函数的用法 C++sort()函数的用法 近来看了c++标准库这本书,学到了很多,就把这其中的一点C++sort()函数的用法写下来和大家分享吧! (一)为什么要用c++标准库里的排 ...

  2. C/C++ sort函数的用法

    sort函数的用法(#include<algorithm>) 做ACM题的时候,排序是一种经常要用到的操作.如果每次都自己写个冒泡之类的O(n^2)排序,不但程序容易超时,而且浪费宝贵的比 ...

  3. 结构体与C++sort()函数的用法

    C++sort()函数的用法 先看道题(本题来自http://codeup.cn/第26099): 题目描述 [问题描述] 高三全省联合模拟考试刚刚结束,经过各科老师的努力,各个学科的改卷工作终于结束 ...

  4. Sort函数的用法

    快速排序sort的用法:(适用于int float double char ...) 记得加头文件! 记得加头文件! 记得加头文件! 头文件: #include <algorithm>   ...

  5. c++ sort函数的用法

    C++ sort函数用法 FROM:http://hi.baidu.com/blackdemonfish/blog/item/e2c1d655d702a45ed0090652%2Ehtml 最近算法作 ...

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

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

  7. c++sort函数的用法浅析

    (一)为什么要用c++标准库里的排序函数 Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c++以来使用的冒泡排序和选择排序所带来的执行效率不高的问题!因为它使用的排序方法是类似于 ...

  8. STL之sort函数的用法

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

  9. 有关sort函数的用法

    最近碰到这个sort函数,网上查了一些资料,感觉还是直接扔给我代码比较好理解些 要是像我一样的童鞋,建议看这里:http://www.cplusplus.me/265.html 个人认为很好理解..这 ...

随机推荐

  1. Zernike不变矩

    1.Zernike矩介绍 Zernike矩是基于 Zernike多项式的正交化函数,所利用的正交多项式集是 1个在单位圆内的完备正交集.Zernike矩是复数矩 ,一般把 Zernike矩的模作为特征 ...

  2. MySQL数据库储存bit类型的值报错

    当我们储存bit类型的值时,不能直接写入数字 上图中的画圈部分就是bit类型,若是直接填入"1"或"0"等等就会报错,如下: 这时候,我们要看bit(M)的M值 ...

  3. POJ 3468 A Simple Problem with Integers(树状数组区间更新)

    A Simple Problem with Integers Time Limit: 5000MS   Memory Limit: 131072K Total Submissions: 97217   ...

  4. Problem F: 分数类的类型转换

    Description 封装一个分数类Fract,用来处理分数功能和运算,支持以下操作:   1. 构造:传入两个参数n和m,表示n/m:分数在构造时立即转化成最简分数. 2. show()函数:分数 ...

  5. Ubuntu 共享 转载

    Ubuntu 14.04 文件服务器--samba的安装和配置 听语音 | 浏览:29526 | 更新:2014-10-10 22:28 | 标签:ubuntu 1 2 3 4 5 6 7 分步阅读 ...

  6. [MYSQL] 记一次MySQL性能调优

    最近在做数据迁移工作,已有一堆数据文件,要把这些数据文件写到MySQL 数据库里面去. MySQL数据库上架了一层服务接口,可以直接调用.博主写了一个迁移程序,放在服务器A上. *********** ...

  7. 几种常用的ajax 跨域请求

      前 言 首先,我们要明白,什么是跨域,为什么要跨域. 由于JS中存在同源策略.当请求不同协议名不同端口号下面的文件时,将会违背同源策略,无法请求成功!需要进行跨域处理! 这篇文章就为大家详细介绍一 ...

  8. Python 面向对象基础知识

    面向对象基础知识 1.什么是面向对象编程? - 以前使用函数 - 类 + 对象 2.什么是类什么是对象,又有什么关系? class 类: def 函数1(): pass def 函数2(): pass ...

  9. Scrum Meeting Alpha - 1 (团队任务分解)

    团队任务分解 Alpha阶段项目目标 实现一个博客园班级博客的Android 客户端: 实现班级博客的常用功能(不包括投票.公告.校区) 有一个较为简洁美观.操作方便的界面 添加消息提醒功能. 任务拆 ...

  10. Javascript parseFloat、parseDouble类型转换,数值加减,四舍五入

    <script language="JavaScript">var a = "0.11";var b = "0.2801";va ...