首页 > 其他 > 详细

cmp函数 の 字典序

时间:2021-08-25 18:12:53      阅读:21      评论:0      收藏:0      [点我收藏+]

我们都知道手写 cmp() 可以重载 sort() 的比较规则
嗯对!
要想手写出比较字典序的 cmp() 我们先要认识另外一个函数 strcmp()

strcmp 函数的排面

原型

int strcmp(const char *s1, const char *s2);

头文件

#include <string.h>

功能

用来比较两个字符串

参数

s1s2为两个进行比较的字符串

返回值

  • s1s2 字符串相等,则返回
  • s1 大于 s2 ,则返回大于零的数;
  • s1 小于 s2 ,则返回小于零的数。

说明

  • strcmp() 函数是根据 ACSII码 的值来比较两个字符串的;
  • strcmp() 函数首先将 s1 字符串的第一个字符值减去 s2 第一个字符,
    • 若差值为零则继续比较下去;
    • 若差值不为零,则返回差值。

cmp() 的实现

定义结构体储存字符串

struct node{
    char str[100005];
}

定义排序规则

字典序

bool cmp(node n1,node n2){
    return strcmp(n1.str,n2.str)<0;
}

逆字典序

bool cmp(node n1,node n2){
    return strcmp(n1.str,n2.str)>0;
}

?????????????????????????? 完结撒花! AwA ??????????????????????????

cmp函数 の 字典序

原文:https://www.cnblogs.com/syqwq/p/15186113.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!