所以,如果我有这两个数组:
int array1[] = {1, 2 ,3};
int array2[] = {1, 2, 3, 4, 5};
如何检查1, 2 and 3array1是否在array2中?`
提前致谢.
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它.
值得指出的是,我使用你的阵列"错误"的方式; 算法期望其第一个范围是更大的范围.