检查数组中的元素是否在另一个数组中

TCG*_*TCG 0 c++ arrays

所以,如果我有这两个数组:

int array1[] = {1, 2 ,3};

int array2[] = {1, 2, 3, 4, 5};

如何检查1, 2 and 3array1是否在array2中?`

提前致谢.

BoB*_*ish 5

std::includes:

if (std::includes(std::begin(array2), std::end(array2),
                  std::begin(array1), std::end(array1)) {
    // array2 includes array1
}
Run Code Online (Sandbox Code Playgroud)

这需要对数组进行排序,而不是您的数组.此外,如果使用某个自定义比较器对它们进行排序,则必须将其传递给std::includes它.

值得指出的是,我使用你的阵列"错误"的方式; 算法期望其第一个范围是更大的范围.