char str[]="BCAbca";
auto cmp = [](char a, char b)
{
auto upper = [](char c)
{
return ( c >= 'A'&&c <= 'Z' );
};
auto lower = [](char c)
{
return ( c >= 'a'&&c <= 'z' );
};
if (upper(a))
{
if (upper(b))
return a < b;
else
return a<b-32;
}
else
{
if (upper(b))
return a-32<b;
else
return a < b;
}
};
std::sort(str, str+6, cmp);
把小写转大写后比较
也不知道,踩此答案的人是什么心理~
C语言的例子
效果:
一个想法是类似于将a转换成介于AB之间的一个数字 即asc码+0.5
做字符到数字的转换,示例如下:
大概这样:
比较 char c1, c2 即为:
建议学学C++。