运行时使用排序函数出错
run time error using sort function
问题是将所有字谜组合在一个字符串向量中。我在c++中使用排序函数为它写了代码,但是我得到了运行时错误,我不知道是什么问题。你能帮我一下吗?谢谢你!
我代码: bool comp(string s1, string s2){
sort(s1.begin(), s1.end());
sort(s2.begin(), s2.end());
return (s1<=s2);
}
vector<string> anagrams(vector<string> &strs) {
if(strs.size()==0 || strs.size()==1) return strs;
sort(strs.begin(), strs.end(), comp);
}
当anagrams
的vector参数大于1时,即使它声明返回一个向量,也不会从函数返回任何东西。
这是未定义的行为,可能是崩溃的原因。
在对输入进行排序时不需要从函数返回任何东西
首先,函数comp中应该有s1 < s2
而不是s1 <= s2
bool comp(string s1, string s2){
sort(s1.begin(), s1.end());
sort(s2.begin(), s2.end());
return (s1 < s2);
}
函数字谜应该定义为
void anagrams(vector<string> &strs) {
sort(strs.begin(), strs.end(), comp);
}
相关文章:
- 类中私有结构的构造函数出错
- 字符串验证函数出错
- 我的类默认构造函数出错
- Dev-C++和Code::Blocks中的析构函数出错
- int对的哈希函数出错
- MSVC 编译器错误导致迭代器和友元函数出错
- 复制构造函数出错
- 使用 WinSock2 开发,使用 CreateThread() 函数出错
- 链接列表的Push_back函数出错
- 结构初始化中的隐式复制构造函数出错
- 异步函数出错
- 编译器错误消息错误:令牌之前的预期')' '*'。我的构造函数出错
- c++中使用std::bind和std::函数出错
- 在vector排序中使用c++模板函数出错
- 使用std::for_each lambda函数出错
- 二叉搜索树插入函数出错
- 调用类的函数出错
- c++使用删除函数出错
- 使用已删除的函数出错
- 调用构造函数出错