1. 程式人生 > >sort函式的新用法

sort函式的新用法

題目描述

設有 n個正整數 (n≤20),將它們聯接成一排,組成一個最大的多位整數。

例如: n=3 時, 3 個整數 13 , 312 , 343 聯接成的最大整數為: 34331213

又如: n=4 時, 4 個整數 7 , 13, 4 , 246 聯接成的最大整數為: 7424613

輸入輸出格式

輸入格式:

第一行,一個正整數 n。

第二行, n個正整數。

輸出格式:

一個正整數,表示最大的整數

輸入輸出樣例

輸入樣例#1:

3

13 312 343

輸出樣例#1:

34331213

題解:

sort 排序字串是不用加cmp的,自帶operator (字典序)/_/sort對字串排序只能是c++中string型別 _

按長度排序加一個a.length就可以了 記住cmp裡的條件是return小的條件

#include<bits/stdc++.h>
using namespace std;
//algorithm
string a[21];
bool cmp(string a,string b){
	return a+b > b+a;//a+b就是字串的連線,******數字字串是可以直接比較大小的 
}
int main(){
	int n;cin>>n;
	for(int i=1;i<=n;i++)cin>>a[i];
	sort(a+1,a+n+1,cmp);
	for(int i=1;i<=n;i++)cout<<a[i];
	return 0;
} 

才知道。。。。