C++ Sort函数解析

Sort函数

1)Sort()类似于快速排序,时间复杂度为n*log2(n),执行效率高;

2) 头文件:#include <algorithm>

3) 参数:sort(start,end,compare)

eg: 

bool compare(int a,int b){

    // 升序

    return a>b;

    // 降序

    return a<b;

}

题目描述:设有n个正整数,将他们连接成一排,组成一个最大的多位整数。如:n=3时,3个整数13,312,343,连成的最大整数为34331213。如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。

题目链接:

https://www.nowcoder.com/practice/a6a656249f404eb498d16b2f8eaa2c60?tpId=85&&tqId=29898&rp=1&ru=/activity/oj&qru=/ta/2017test/question-ranking 

答案解析

#include <iostream>
#include <algorithm>
using namespace std;
int main(){
    int n;
    string s;
    cin>>n;
    string arr[n];
    for(int i=0;i<n;i++){
        cin>>arr[i];
    }

    // 核心参数配置
    sort(arr,arr+n,[](string s1, string s2){
        return (s1+s2) > (s2+s1);}); 

    for(int i=0;i<n;i++){
        s+=arr[i];
    }
    cout<<s;
    return 0;
}

参考

https://blog.csdn.net/liuzuyi200/article/details/8974326 (C++sort函数的用法)

https://blog.csdn.net/zzzmmmkkk/article/details/4266888 (C++ 排序函数 sort(),qsort()的用法)





猜你喜欢

转载自blog.csdn.net/u013096666/article/details/80677649