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

标签 c++ arrays function compare

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

int a[] =  {1, 2, 3, 4};
int b[] =  {0, 1, 5, 6};

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

我该怎么做?

最佳答案

如果数组这么小,我会采用蛮力方法,循环遍历两个数组:

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
        }
    }
}

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

例如,如果您的一个数组已排序,您可以更快地检查匹配项,尤其是当数组的长度变大时。不过,如果您的数组的长度总是只有几个元素,我不会费心做任何更复杂的事情。

关于c++ - 在 C++ 中比较两个数组的 2 个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3151801/

相关文章:

ios - 线程 1 : Fatal error: Index out of range. 无法快速从数组中获取值,控制台显示它们不是空数组

c++ - 在函数中通过引用调用

c++ - 属性编辑器的设计模式?

c++ - boolean 变量的最佳大小是多少

c - 向数组中插入一个值,并根据值c排列数组

如果键在变量中,PHP如何从数组中获取值

Javascript 在函数后不断变得未定义 - 提示

javascript - 在 JavaScript 中将方法作为参数传递

c++ - 忽略转义序列 C++

c++ - 为什么当我们尝试修改全局常量时窗口会出现访问冲突