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

Bef*_*all 5 c++ if-statement list

我在C++编写的搜索算法,而我需要做的事情之一是有如果检查上述细胞中,下面的语句,剩下的几个,右.

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

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

任何简单的想法?

谢谢!

Eli*_*sky 7

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

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

if (myset.find(item) != myset.end()) {
  // item is found
}
Run Code Online (Sandbox Code Playgroud)

谷歌搜索可以找到一个更大的例子.例如,这里.