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

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的距离,

你可能感兴趣的:(c语言输入两个字符串,按字典数序比较大小)