C++中STL的sort函数

简单介绍C++ sort函数
这个函数需要STL算法头文件

#include <algorithm>
using namespace std;

这个sort( , , )可以带两个参数也可以三个参数
第一个参数是数组的首地址,一般写上数组名就可以,因为数组名是一个指针常量。

第二个参数,首地址加上数组的长度n(代表尾地址的下一地址)

最后一个参数是比较函数的名称(自定义函数cmp),这个比较函数可以不写,即第三个参数可以缺省,这样sort会默认按数组小到大排序。

带两个参数的代码

#include <cstdio>
#include <algorithm>
using namespace std;
int main()
{
    int a[10],i;
    for(i=0;i<10;i++)
        scanf("%d",a+i);
    sort(a,a+10);
    printf("%d",a[0]);
    for(i=1;i<10;i++)
        printf(" %d",a[i]);
    return 0;
}

带三个参数的代码

#include <cstdio>
#include <algorithm>
using namespace std;
bool cmp(int a,int b)
{
    return a>b;
}
int main()
{
    int a[10],i;
    for(i=0;i<10;i++)
        scanf("%d",a+i);
    sort(a,a+10,cmp);
    printf("%d",a[0]);
    for(i=1;i<10;i++)
        printf(" %d",a[i]);
    return 0;
}

posted @ 2018-11-28 22:56  yanhua-tj  阅读(79)  评论(0编辑  收藏  举报