C++检查数组中是否存在元素

RnD*_*RnD 6 c++ arrays loops for-loop

我发现了很多像这样的话题,但对我来说有点太复杂了.

如何检查数组中是否存在元素?

首先我声明一个数组并将值放入其中

for(int l=0;l<=21;l++){
        skirt[l]=l;
    }
Run Code Online (Sandbox Code Playgroud)

然后与另一个for我想检查其他数组中是否存在任何元素是否在数组中skirt[];

有没有办法写这样的东西?

for(int k=0;k<=n;k++){
    if(skaiciai[k]!=skirt[k]){
        counter++;
    }
}
Run Code Online (Sandbox Code Playgroud)

Man*_*rse 5

执行此操作的最佳方法是使用标准算法,而不是手写循环:

if (std::find_first_of(
        skirt, skirt + skirt_size,
        skaiciai, skaiciai + skaiciai_size)
    != skirt + skirt_size)
{
    //skirt contained an element from skaiciai
}
Run Code Online (Sandbox Code Playgroud)


hmj*_*mjd 3

循环:

for(int k=0;k<=n;k++){
    if(skaiciai[k]!=skirt[k]){
        counter++;
    }
}
Run Code Online (Sandbox Code Playgroud)

只会比较数组中相同索引处的元素。for需要嵌套循环,外部for循环迭代一个数组中的元素,内部for循环迭代另一个数组中的元素:

for (int k_skirt = 0; k_skirt <= n; k_skirt++)
{
    for (int k_skaiciai = 0; k_skaiciai <= n; k_skaiciai++)
    {
        if(skaiciai[k_skaicia] == skirt[k_skirt]){
            counter++;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)