sort函式的新用法
阿新 • • 發佈:2019-02-05
題目描述
設有 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; }
才知道。。。。