<分区>
我需要对字符串中的字符进行排序,并且需要先显示小写字母。例如,“acDbA”排序后将变为“abcAD”。
下面的代码是我想出的:
bool compare(const char& c1, const char& c2) {
if (c1 >= 'A' && c1 <= 'Z' && c2 >= 'a' && c2 <= 'z') return false;
if (c2 >= 'A' && c2 <= 'Z' && c1 >= 'a' && c1 <= 'z') return true;
return c1<c2;
}
void sortLetters(string &letters) {
sort(letters.begin(), letters.end(), compare);
}
但是在 Visual Studio 中我得到了:
'sort': no matching overloaded function found
'SortLetters::compare': non-standard syntax; use '&' to create a pointer to member
'void std::sort(_RanIt,_RanIt)': expects 2 arguments - 3 provided
我应该如何创建自定义比较函数来对字符串进行排序,我似乎无法在网上找到有关字符串排序的示例。