下面的函数是我的比较函数。虽然直接比较两个字符成功地对数组进行了分类,但使用 std::string 比较函数却没有。
int compare (student a, student b) {
return a.name.compare(b.name);
return a.name[0] < b.name[0];
}
通话
sort(data.begin(), data.end(), compare);
其中数据定义为vector <student> data;
你有什么想法为什么 std::compare 不排序吗?
PS:std::compare 会导致位置颠倒,例如 alan, richard, byron, sarah -> sarah, byron, richard, alan。