如何检查/查找一个项目是否在双端队列中

在上面的代码中,else-if部分出现了错误。else-if的含义是:如果x的值不在双端队列中,则…

#include <iostream>#include <ctime>#include <stack>#include <deque>#include <algorithm>deque<char> visited;char x;   if (x==target[4][4])   {           visited.push_back(x);                       return (visited);   }   else if (!(find(visited.begin(), visited.end(), x)))   {       visited.push_back(x);   }

错误:没有与这些操作数匹配的“!”运算符


回答:

如果std::find找不到特定值,它将返回迭代器对的“末尾”。

else if (std::find(visited.begin(), visited.end(), x) == visited.end()){   // 处理在visited.begin()和visited.end()之间未找到'x'的情况

编辑:如果你想知道x 是否 在双端队列中,只需反转条件即可。

else if (std::find(visited.begin(), visited.end(), x) != visited.end()){   // 处理在visited.begin()和visited.end()之间找到'x'的情况

编辑:如果你不熟悉C++中的迭代器概念,请阅读理解STL中的迭代器

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注