字符串排序——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;
}
相关推荐
工口发动机5 分钟前
ABC440DEF简要题解
c++·算法
带土111 分钟前
4. C++ static关键字
开发语言·c++
橘颂TA12 分钟前
【Linux】死锁四条件的底层逻辑:从锁冲突到 STL 组件的线程安全实践(Ⅵ)
linux·运维·服务器·c++·死锁
C++ 老炮儿的技术栈18 分钟前
什么是通信规约
开发语言·数据结构·c++·windows·算法·安全·链表
码农小韩2 小时前
基于Linux的C++学习——动态数组容器vector
linux·c语言·开发语言·数据结构·c++·单片机·学习
hui函数2 小时前
如何解决 pip install 编译报错 g++: command not found(缺少 C++ 编译器)问题
开发语言·c++·pip
CSDN_RTKLIB2 小时前
【std::vector】clear介绍
c++·stl
XiaoHu02072 小时前
Linux多线程(详细全解)
linux·运维·服务器·开发语言·c++·git
苏宸啊2 小时前
C++(二)类和对象上篇
开发语言·c++
fqbqrr3 小时前
2601C++,编译时连接两个串指针
c++