拼数。

#include<iostream>
#include<string>
using namespace std;
bool compare(string a,string b)
{
    if(a+b>=b+a)//ab>=ba,这个时候不需要交换
    return false;
    return true;//ab<ba,这个时候需要交换
}
int main()
{
    int n;
    cin>>n;
    string arr[20],temp;
    for(int a=0;a<n;a++)
        cin>>arr[a];
    for(int i=0;i<n-1;i++)
        for(int j=i+1;j<n;j++)
            if(compare(arr[i],arr[j]))    //如果为true则交换,
            {
                temp=arr[i];
                arr[i]=arr[j];
                arr[j]=temp;
            }
    for(int k=0;k<n;k++)
        cout<<arr[k];
    cout<<endl;
    return 0;
}

全部评论

相关推荐

鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
07-15 11:43
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务