(使用STL自带的排序功能进行排序)UVA 10905 Children's Game(求一组数据所能拼出的最大数字串)

/*
 * UVA_10905.cpp
 *
 *  Created on: 2013年11月4日
 *      Author: Administrator
 */

#include <iostream>
#include <cstdio>
#include <string>
#include <algorithm>

using namespace std;

const int maxn = 55;


bool cmp(const string& a , const string& b){//按照串值递减的顺序设计比较函数
	return a+b>b+a;
}

int main(){
	int n;
	string a[maxn];

//	string b = "123";
//	string c = "321";
//	cout<<b+c<<endl; b+c : 123321
	while(scanf("%d",&n)!=EOF,n){
		int i;
		for(i = 0 ; i < n ; ++i){
			cin >> a[i];
		}
		sort(a,a+n,cmp);
		for(i = 0 ; i < n ; ++i){
			cout<<a[i];
		}
		cout<<endl;
	}

	return 0;
}


你可能感兴趣的:((使用STL自带的排序功能进行排序)UVA 10905 Children's Game(求一组数据所能拼出的最大数字串))