我已经找到了很多这样的主题,但它对我来说太复杂了。
如何检查数组中是否存在元素?
首先,我声明了一个数组,并将值放入其中
for(int l=0;l<=21;l++){
skirt[l]=l;
}然后,对于另一个数组,我想检查数组skirt[];中是否存在其他数组中的任何元素
有没有办法把它写成这样?
for(int k=0;k<=n;k++){
if(skaiciai[k]!=skirt[k]){
counter++;
}
}发布于 2012-01-31 20:49:52
循环:
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++;
}
}
}发布于 2012-01-31 20:52:46
最好的方法是使用标准算法,而不是手写循环:
if (std::find_first_of(
skirt, skirt + skirt_size,
skaiciai, skaiciai + skaiciai_size)
!= skirt + skirt_size)
{
//skirt contained an element from skaiciai
}发布于 2012-01-31 20:48:11
您可以简单地使用std::count算法。
auto counter = std::count( skirt, skirt+skirt_size );https://stackoverflow.com/questions/9079712
复制相似问题