字符串排序——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;
}
相关推荐
1白天的黑夜12 小时前
动态规划-LCR 089.打家劫舍-力扣(LeetCode)
c++·算法·leetcode·动态规划
阳光_你好4 小时前
简单介绍C++中线性代数运算库Eigen
开发语言·c++·线性代数
ShineSpark4 小时前
C++面试3——const关键字的核心概念、典型场景和易错陷阱
c++·算法·面试
爱吃涮毛肚的肥肥(暂时吃不了版)7 小时前
仿腾讯会议——音频服务器部分
c++·qt·面试·职场和发展·音视频·腾讯会议
DpHard7 小时前
自用Vscode 配置c++ debug环境
c++·ide·vscode
hy____1238 小时前
C++多态的详细讲解
开发语言·c++
superior tigre8 小时前
C++学习:六个月从基础到就业——C++20:范围(Ranges)进阶
c++·学习·c++20
小葡萄20258 小时前
黑马程序员C++2024版笔记 第0章 C++入门
开发语言·c++·笔记
不二一9 小时前
linux c++头文件生成源文件 使用python脚本 配置vim快捷键
linux·c++·python
Lazy Dave9 小时前
C++开源库argh使用教程
c++·开源·argh