sort如果按字典序排列的细节

简介: sort如果按字典序排列的细节

暗藏玄只因


这个题,乍一看,之前写过


但是发现漏掉了好多细节


P1012 [NOIP1998 提高组] 拼数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

24.1.png

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int N=100010;
string a[N];
bool cmp(string a,string b)
{
  return a+b>b+a;
}
int main()
{
  int n;
  cin>>n;
  for(int i=0;i<n;i++)
  {
    cin>>a[i];
  }
  sort(a,a+n,cmp);
  for(int i=0;i<n;i++)
  {
    cout<<a[i];
  }
}

image.png

cmp函数里面的数据类型必须要对应

比如要比较的是string类,那么cmp里面定义的也应该是string类的

Code over!

相关文章
|
6月前
|
算法
现有‘abcdefghijkl’12个字符,将其所有的排列按字典序进行排序,给出任意一组排列,说出这租排列在所有排列中是第几小的
现有‘abcdefghijkl’12个字符,将其所有的排列按字典序进行排序,给出任意一组排列,说出这租排列在所有排列中是第几小的
61 1
从排列字符串到排列序列:解析增减字符串匹配问题
题目要求根据给定的字符串 s,构造一个排列序列 perm,其中排列序列中的数字满足以下规则: 如果 perm[i] < perm[i + 1],则对应的字符为 'I'; 如果 perm[i] > perm[i + 1],则对应的字符为 'D'。 我们需要根据字符串 s 中的字符,构造满足上述规则的排列序列 perm。
57 0
|
存储 算法
回溯算法:排列与组合详解
回溯算法,本质上是一种穷举算法,属于暴力搜索算法的一种。它虽然可以使用剪枝进行优化,仍不高效,但却实用。它往往能够解决可以抽象成树形结构的问题,亦可以认为是使用 K 层 for循环实现搜索的问题。
160 0
回溯算法:排列与组合详解
|
Cloud Native Go 索引
1800. 最大升序子数组和:简单模拟方式
这是 力扣上的 1800. 最大升序子数组和,难度为 简单。
|
C++
C++ leetcode之排列与组合专题
C++ leetcode之排列与组合专题
86 0
|
存储 程序员 索引
python字典排序、列表排序、升序、降序、逆序如何区别使用?
python字典排序、列表排序、升序、降序、逆序如何区别使用?
277 0
|
存储 程序员 索引
python中序列的排序,包括字典排序、列表排序、升序、降序、逆序
python中序列的排序,包括字典排序、列表排序、升序、降序、逆序
156 0
|
Java
Java基础 --- 利用冒泡排序实现对一组数字的升序与降序排列
Java基础 --- 利用冒泡排序实现对一组数字的升序与降序排列
290 0
Java基础 --- 利用冒泡排序实现对一组数字的升序与降序排列
|
机器学习/深度学习
【组合数学】排列组合 ( 两个计数原则、集合排列示例 | 集合排列、圆排列示例 )
【组合数学】排列组合 ( 两个计数原则、集合排列示例 | 集合排列、圆排列示例 )
228 0