我发现了很多像这样的话题,但对我来说有点太复杂了。
如何检查数组中是否存在元素?
首先我声明一个数组并将值放入其中
for(int l=0;l<=21;l++){
skirt[l]=l;
}
然后与另一个for
我想检查其他数组中是否存在任何元素是否在数组skirt[];
有没有办法写这样的东西?
for(int k=0;k<=n;k++){
if(skaiciai[k]!=skirt[k]){
counter++;
}
}
答案 0 :(得分:5)
执行此操作的最佳方法是使用标准算法,而不是手写循环:
if (std::find_first_of(
skirt, skirt + skirt_size,
skaiciai, skaiciai + skaiciai_size)
!= skirt + skirt_size)
{
//skirt contained an element from skaiciai
}
答案 1 :(得分:3)
您可以简单地使用std :: count算法。
auto counter = std::count( skirt, skirt+skirt_size );
答案 2 :(得分:3)
循环:
for(int k=0;k<=n;k++){
if(skaiciai[k]!=skirt[k]){
counter++;
}
}
只会比较数组中相同索引处的元素。外部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++;
}
}
}