如果在类型 int vector 中找到重复项,C++ 返回 true

标签 c++ vector boolean

有没有比编写循环更简单的方法来检查每个值是否重复,并在 vector 中找到重复项时返回 true?

最佳答案

Are theres a easier way than writing a loop checking each and every value for duplicates and return true when a duplicate within the vector is found?

您必须检查 vector 的每个元素(直到找到重复项),否则您无法知道未检查的元素之一是否有重复项。

如果“更简单”是指“更高效”,如果“编写一个循环”是指两个嵌套循环,那么是的,有一种更有效的方法:首先对 vector 进行排序,然后仅检查相邻元素。

如果“更简单”是指“我可以避免编写任何循环吗”,那么可以。上一段中提到的两个步骤(排序和检查相邻元素的等价性)在标准库中都有实现。这些函数被命名为 sortadjacent_find

关于如果在类型 int vector 中找到重复项,C++ 返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46354323/

相关文章:

c++ - 循环中对象的作用域

arrays - 尽可能使用 `Iterator` 而不是 `Vec`?

C++ 将包含对象的 vector 转换为包含 double 的 vector

ios - 为 BOOL 指针赋值时出现奇怪的警告问题

MySQL 全文搜索 boolean 模式部分匹配

c++ - 在字符串 C++ 中查找子字符串(在 "el"中查找 "hello")

c++ - 是否可以使用调试器调试 UnhandledExceptionFilters?

c# - 用于键入 "New or Used"的 boolean 值与枚举

c++ - 通过知道变量的名称来更改变量的值

c++ - C++ 中 PRNG 的默认随机引擎为类的每个实例生成相同的输出 - 正确的种子?