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.youkuaiyun.com/liuzuyi200/article/details/8974326 (C++sort函数的用法)
https://blog.youkuaiyun.com/zzzmmmkkk/article/details/4266888 (C++ 排序函数 sort(),qsort()的用法)