字符串排序——c++

题目描述:有n个字符串,将其从大到小依次输出(无空格)

这其实就是说,给你几个字符串,在不改变字符串本身的前提下组合成一个最大的数(或文段)

这就用到了c++中的一个知识:字符串排序(是的,字符串也可以排序)

排序规则:

比较的时候,从字符串左边开始,一次比较每个字符,直接出现差异、或者其中一个串结束为止。

比如ABC与ACDE比较,第一个字符相同,继续比较第二个字符,由于第二个字符是后面一个串大,所以不再继续比较,结果就是后面个串大。

再如ABC与ABC123比较,比较三个字符后第一个串结束,所以就是后面一个串大。

所以,长度不能直接决定大小,字符串的大小是由左边开始最前面的字符决定的。

废话不说了,上代码:

复制代码
#include <iostream>
#include <algorithm>
using namespace std;
string s[25];
bool cmp(string a,string b)
{
    return a>b;
}
int main()
{
    int n;
    cin >> n;
    for(int i=1;i<=n;i++)
    {
        cin >> s[i];
    }
    sort(s+1,s+n+1,cmp);
    for(int i=1;i<=n;i++)
    {
        cout << s[i];
    }
    return 0;
}
相关推荐
Stanford_11065 小时前
如何利用Python进行数据分析与可视化的具体操作指南
开发语言·c++·python·微信小程序·微信公众平台·twitter·微信开放平台
千里马-horse6 小时前
Async++ 源码分析8--partitioner.h
开发语言·c++·async++·partitioner
Lucis__7 小时前
再探类&对象——C++入门进阶
开发语言·c++
北京不会遇到西雅图8 小时前
【SLAM】【后端优化】不同优化方法对比
c++·机器人
jndingxin9 小时前
c++多线程(6)------ 条件变量
开发语言·c++
程序员莫小特9 小时前
老题新解|大整数加法
数据结构·c++·算法
洲覆10 小时前
C++ 模板、泛型与 auto 关键字
开发语言·数据结构·c++
千里马-horse11 小时前
Async++ 源码分析7--parallel_reduce.h
开发语言·c++·async++·parallel_reduce
江公望11 小时前
Qt QThread使用方法入门浅解
c++·qt
叫我龙翔11 小时前
【MySQL】从零开始了解数据库开发 --- 数据表的约束
android·c++·mysql·数据库开发