c++ - 检查项目是否在列表中的简单方法?

标签 c++ list if-statement

我正在用 C++ 编写搜索算法,我需要做的一件事是使用一些 if 语句来检查单元格的上方、下方、左侧和右侧。

每次发现一个单元格打开并添加到堆栈时,我希望将它添加到已检查的单元格列表中。

我希望能够在 if 语句中说 if(thisCell is not in checkedCells)

有什么简单的想法吗?

最佳答案

为此,最好使用 std::set 容器,因为它使您能够比列表更快地搜索项目。然后你可以这样写:

std::set<itemType> myset;
...

if (myset.find(item) != myset.end()) {
  // item is found
}

可以通过谷歌搜索找到更大的示例。例如,here .

关于c++ - 检查项目是否在列表中的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2672593/

相关文章:

c++ - 如何删除 vector 中的重复项(不排序)C++

python - 如何在 Python 的一行中将多个值添加到列表中?

python - 有没有办法管理列表中的 float ?

java - 重构详细的 switch case 语句

c++ - 坚持使用 if 语句的代码

c++ - 为什么所有 C++ 编译器都会因为这段代码而崩溃或挂起?

c++ - std::vector 和 move 语义

java - 在猜数字游戏中循环

c++ - 未命名的命名空间

Java - 混合数组列表?