c语言输入两个字符串 按字典数序比较大小,算法学习笔记(一)C++排序函数、映射技巧与字典树...

本文介绍了C++中的排序函数sort()及其使用,讲解了如何利用映射关系将字符串转化为数字。同时,深入探讨了字典树(Trie)的数据结构,展示了如何用字典树存储和搜索字符串,并提供了相关的C++实现代码。
摘要由CSDN通过智能技术生成

1.头文件algorithm中有函数sort()用于排序,参数为:排序起始地址,排序结束地址,排序规则(返回bool型)

例如,要将array[] = {5,7,1,2,9}升序排列,则使用:bool cmp(int a,int b);

int main()

{

int array[] = {5,7,1,2,9};

sort(array,array+5,cmp);

for(int i = 0;i 

cout <

cout <

return 0;

}

bool cmp(int a,int b)

{

if(a>b) return false;

else return true;

}

注:1.在C语言中,使用qsort进行排序。

2.如果不指定排序方式,默认为升序。

2.对于有序映射关系,可以用巧妙的办法转化,例如:

ABC对应2,DEF对应3,GHI对应4,JKL对应5,MNO对应6,PRS对应7,TUV对应8,WXY对应9

要把一串字符按照这样的规则映射为数字,可以采用以下方法:(*(p+i) - 'A' - (*(p+i)>'Q'))/3 + 2

其中p为指向字符串的指针,因为每3个字母变化一次映射关系,因此只需要判断当前字符距离字符A的距离,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值