词典比较手段
如果我们有字符串“cat”“apple”“dog”“算法”,在它们按字典顺序相互比较后,它们按照字典顺序排列如下
算法,苹果,猫,狗
我已经编写了以下比较器,用于按字典顺序对这些字符串进行排序 .
inline bool leq(int a1, int a2, int b1, int b2)
{
return (a1 < b1 || a1 == b1 && a2 <= b2);
}
inline bool leq(int a1, int a2, int a3, int b1, int b2, int b3)
{
return(a1 < b1 || a1 == b1 && leq(a2, a3, b2, b3));
}
现在我试图引入两个不属于字母集“%”和“&”的附加符号,这样在排序字符串(字母集)时,“%”应该被视为小于所有字母表,并且应该考虑“&”比所有字母都要大
如果我有
“apple%”和“apple&”那么apple%应该被认为小于apple&
有人可以建议我如何用c写这个 . 谢谢
1 回答
<algorithm>
Headers 中有一个算法执行字典比较,恰当地命名为lexicographical_compare . 有什么好处是你可以提供自己的比较功能,它可以考虑你的特殊字符: