码迷,mamicode.com
首页 > 编程语言 > 详细

sort进行特定规则的排序

时间:2016-08-21 09:42:04      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:

设有n个正整数 (n<=20), 将它们连接成一排, 组成一个最大的多位整数.

例如: n=3时, 3个整数13, 312, 343连接成的最大整数为: 34331213

又如: n=4时, 4个整数7,13,4,246连接成的最大整数为: 7424613

 

#include<iostream>      
#include<string>      
#include<cstring>    
#include<algorithm>    
using namespace std;      
string a[1000];     
bool comp(string a,string b) {    
    return (a + b > b + a);     //直接给出sort排序后a在b前所要满足的条件  
}    
int main() {      
    int n, d = 1;      
    cin >> n;      
    for (int i = 0; i < n; i++)    
        cin >> a[i];      
    sort(a, n + a, comp);    
    for (int i = 0; i < n; i++)      
        cout << a[i];
    cout << endl;      
}     

STL中sort可自写的cmp函数的定义,所谓cmp或者叫什么其他名字的函数,事实上是一个校验器。是在计算机排序完毕之后,校验序列是否符合编程者所需要的顺序。

sort进行特定规则的排序

标签:

原文地址:http://www.cnblogs.com/cdx19971126/p/5792116.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!