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

#include
#include
#include

using namespace std;

class Solution {
public:
    void sort(vector &str_array) {
        int len = str_array.size();
        for (int i = 0; i < len - 1; i++) {
            for (int j = 0; j < len - 1 - i; j++) {
                if ((str_array[j] + str_array[j + 1]) < (str_array[j+1] + str_array[j]))
                    swap(str_array[j], str_array[j + 1]);
            }
        }
    }
};

int main() {
    int tmp;
    while (cin >> tmp) {
        vector str_array;
        string str;
        for (int i = 0; i < tmp; i++) {
            cin >> str;
            str_array.push_back(str);
        }
        Solution s;
        s.sort(str_array);
        for (int i = 0; i < str_array.size(); i++) {
            cout << str_array[i];
        }
        cout << endl;
    }
    return 0;
}

你可能感兴趣的:(设有n个正整数,将他们连接成一排,组成一个最大的多位整数。 如:n=3时,3个整数13,312,343,连成的最大整数为34331213。 如:n=4时,4个整数7,13,4,246连接成的最大...)