比较C++中两个数组的2个元素

Sol*_*ake 4 c++ arrays compare function

我有两个数组,每个数组都有一些值,例如:

int a[] =  {1, 2, 3, 4};
int b[] =  {0, 1, 5, 6};
Run Code Online (Sandbox Code Playgroud)

现在我需要将数组(a)的元素与数组(b)中的元素进行比较..如果有任何匹配程序应该返回错误或打印"错误有重复值"等等.在上述情况,它应该返回一个错误coz a [0] = b [1],因为它们都有相同的值.

我怎样才能做到这一点??

Ree*_*sey 7

如果数组这么小,我只会做一个强力方法,并遍历两个数组:

for (int i=0;i<4;++i)
{
    for (int j=0;j<4;++j)
    {
        if (a[i] == b[j])
        {
            // Return an error, or print "error there is a duplicate value" etc
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您要处理大型数组,您可能需要考虑更好的算法,因为这是O(n ^ 2).

例如,如果对某个数组进行了排序,则可以更快地检查匹配,尤其是当数组的长度变大时.但是,如果你的数组总是总是只有几个元素,我就不会为任何更复杂的东西而烦恼.