字符串操作
1 拼数 LGP1012
题解
string类型不会真是个事啊,多个字符串开char也不是事啊...
思想很简单,如果(A+B<B+A),则(B)和(A)应该调换(类似冒泡排序)
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <iostream>
using namespace std;
string a[30];
int n;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<n;i++) //排序
{
for(int j=i+1;j<=n;j++)
{
if(a[j]+a[i]>a[i]+a[j]) //string类型可以直接比较大小
{
swap(a[j],a[i]); //交换a[i]与a[j],同样可以用swap(a[i],a[j]);
}
}
}
for(int i=1;i<=n;i++) cout<<a[i];
return 0;
}