给定n个整数,把他们连接成一个最大的整数,如123,124,56,90连接成9056124123
考虑:先将其进行排序,比如先取两个数啊a,b,若 a+b>b+a 则 把其合成ab的形式再与其他数字用相同的方法进行比较,合成,最后的结果一定是最大的
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
bool cmp(string a,string b){
return a+b>b+a;//string大小的比较是从第一位字符开始
}
int main(){
int n;
while(cin>>n&&n){
string a[n];
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a,a+n,cmp);//cmp是比较函数自己编写
for(int j=0;j<n;j++){
cout<<a[j];
}
cout<<endl;
}
return 0;
}