要按字符串末尾的字符对字符串向量进行排序,可以使用C++ STL中的sort函数,并自定义比较函数。
以下是一个代码示例:
#include
#include
#include
// 自定义比较函数
bool compareByLastChar(const std::string& s1, const std::string& s2) {
if (s1.empty() && s2.empty()) {
return false;
}
else if (s1.empty()) {
return true;
}
else if (s2.empty()) {
return false;
}
else {
return s1.back() < s2.back();
}
}
int main() {
// 创建字符串向量
std::vector strVector = {"apple", "banana", "cherry", "date"};
// 使用自定义比较函数对字符串向量进行排序
std::sort(strVector.begin(), strVector.end(), compareByLastChar);
// 输出排序后的字符串向量
for (const auto& str : strVector) {
std::cout << str << " ";
}
std::cout << std::endl;
return 0;
}
在上述代码中,我们首先定义了一个自定义比较函数compareByLastChar
,该函数用于判断两个字符串的末尾字符的大小关系。然后,我们使用std::sort
函数对字符串向量进行排序,传入自定义比较函数作为参数。最后,输出排序后的字符串向量。
运行上述代码,输出结果为:"date cherry apple banana",即按照字符串末尾的字符对字符串向量进行了排序。
下一篇:按字符串排序