C - 我要最大的 SCU - 1117 【问题描述】 设有n个正整数,将他们连接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343,连成的最大整数为:34331213

#include <iostream> 
#include <cstring>
#include <algorithm>
using namespace std;
 
string str[10];

//按照前后位置不同取值大的排序,如 5和551 ,5551>5515 
bool cmp( string aa , string bb ){
    return aa+bb>bb+aa;
}

int main(){
    int t,n;
    cin >> t;
    while( t-- ){
        cin >> n;
        for( int i=0 ; i<n ; i++ )
            cin >> str[i] ;
        sort( str,str+n,cmp );
        for( int i=0 ; i<n ; i++ )
            cout << str[i];
        cout  << endl;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_40835329/article/details/81486599
今日推荐