首页 >后端开发 >C++ >如何判断C数组中是否存在某个元素?

如何判断C数组中是否存在某个元素?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-10 00:03:03342浏览

How to Determine If an Element Exists in a C   Array?

确定数组中是否存在元素(C )

问题:
如何确定 C 数组中是否存在元素?

解决方案:

在Java中,equals方法可以用来比较对象是否相等。然而,C 不支持对象的这种方法。相反,可以使用 std::find 函数来搜索特定元素:

Foo array[10];
... // Initialize the array

// std::find returns an iterator pointing to the found element or the end of the range
Foo* foo = std::find(std::begin(array), std::end(array), someObject);

if (foo != std::end(array)) {
    // Element found
    std::cerr << "Found at position " << std::distance(array, foo) << std::endl;
} else {
    // Element not found
    std::cerr << "Not found" << std::endl;
}

解释:

  • std::begin 和 std ::end 提供指向数组开头和结尾的迭代器。
  • std::find 迭代数组,使用operator== 方法将每个元素与 someObject 进行比较。
  • 如果元素找到,std::find 返回一个指向它的迭代器,程序打印找到的元素的位置。
  • 如果没有找到该元素,std::find 返回一个指向末尾的迭代器数组,它不等于 std::begin 返回的迭代器(数组的开头)。在这种情况下,程序会打印“未找到”。

以上是如何判断C数组中是否存在某个元素?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn