当前位置:网站首页>55.【sort函数的升序降序】

55.【sort函数的升序降序】

2022-08-02 17:36:00 李在奋斗……

1.如果用sort进行排序,那么需要用头文件#include<algorithm>

2、sort模板含三个参数:

sort (begin,end,cmp)

参数begin:要排序数组的起始地址(第一个数据的地址)

参数end:最后一个数据的下一个数据的地址

参数cmp:若这个参数不写,默认为升序

36e6f735cdcd4d4eb6c90d2ec145cafb.png

 

【默认不写为升序】

#include <iostream>

#include <string.h>

#include <algorithm>

using namespace std;

int main()

{

 int i;

 string s;

 cin >> s;

 sort(s.begin(), s.end()); 

 for (i = 0; i < s.length(); i++)

 {

  cout << s[i] << " ";

 }

 return 0;

}

3d83e8b698dc4db98b53ca80786a3eee.png

 【写了cmp,但a<b,依然为升序】    

#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int a,int b)
    {
        return a<b;     //或则在cmp函数里面写return a<b,也是升序
    }
int main()
{
    int a[]={6,5,8,4,3,2},i;
    sort(a,a+6,cmp);
    for(i=0;i<5;i++)
    {
        cout<<a[i]<<"    ";
    }
    return 0;
}

========================================

【写了cmp,且a>b,降序】

#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int a,int b)
    {
        return a>b;     //注意这里是a>b是指降序
    }
int main()
{
    int a[]={6,5,8,4,3,2},i;
    sort(a,a+6,cmp);
    for(i=0;i<5;i++)
    {
        cout<<a[i]<<"    ";
    }
    return 0;
}

原网站

版权声明
本文为[李在奋斗……]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_69683957/article/details/126124129