字符串排序——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 小时前
【MFC】对话框:位置属性(居中、绝对对齐、X位置Y位置)应用示例
c++·mfc
m0_552200821 小时前
《UE5_C++多人TPS完整教程》学习笔记48 ——《P49 瞄准偏移(Aim Offset)》
c++·游戏·ue5
带鱼吃猫1 小时前
C++的诗行:一文读懂C++的继承机制
开发语言·c++·学习·visual studio
John_ToDebug1 小时前
Chrome 核心事件循环揭秘:TaskSequenceManager 与 MessagePump 的设计与实现
c++·chrome
T0uken2 小时前
【C++】LLVM-mingw + VSCode:Windows 开发攻略
c++·windows·vscode
草莓熊Lotso4 小时前
《算法闯关指南:优选算法-双指针》--01移动零,02复写零
c语言·c++·经验分享·算法·leetcode
ajassi20008 小时前
开源 C++ QT Widget 开发(十五)多媒体--音频播放
linux·c++·qt·开源
鹅毛在路上了10 小时前
C++, ffmpeg, libavcodec-RTSP拉流,opencv实时预览
c++·opencv·ffmpeg
John_ToDebug11 小时前
定制 ResourceBundle 的实现与 DuiLib 思想在 Chromium 架构下的应用解析
c++·chrome·ui
小欣加油12 小时前
leetcode 面试题01.02判定是否互为字符重排
数据结构·c++·算法·leetcode·职场和发展