c++ - 使用链表确定适当的子集

标签 c++

我正在尝试确定两个链表是否为真子集......

不知道我是怎么把它当成假的,而当它应该是真的时,因为 P 包含 Q 的所有元素。

最佳答案

每次查看时都需要将 q 重置为 q 的开头。

为此你需要保存for循环之前的原始节点,并在每次重新设置:

Node *q_start = q;
for(p=p; p!=NULL; p=p->next) {
    q = q_start;

这应该是最简单的修复,但不是最好的。

关于c++ - 使用链表确定适当的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20391530/

相关文章:

c++ - c++标准库的设计原则是什么?

c++ - 带有 Xcode 5.0 的 OpenCV

c++ - 错误 : enum is not e member of the class

c++ - 在 C++ 中设置 `std::unordered_set` 中初始桶数的策略

c++ - 从 std::list 中移除具有特定值的元素

c++ - 尽管文件指针正确,但 fclose() 期间出现段错误

c++ - Boost.Thread 定时等待

c++ - pthread_cond_signal 或 pthread_cond_broadcast 调用是否意味着写入内存屏障?

c++ - 在 C++ 中多线程时出现 "no matching function call"错误

c++ - 纠正模板类的问题