2017-09-21 20 views
0

是否有比写一个循环来检查重复的每一个值的简单方法c + +返回true,当矢量内重复发现返回true?如果在一个int型矢量重复发现

+2

肯定的:'的std ::排序()''随后的std :: adjacent_find()'。 –

回答

1

是否比编写循环更容易的方法检查每个值和重复值,并在向量中找到重复项时返回true?

你必须检查向量的每个元素(直到找到重复),否则你不知道其中一个未被检查的元素是否有重复。如果用“更容易”来表示“更有效率”,并且如果通过“编写循环”表示两个嵌套循环,那么是的,这里有一个更有效的方法:首先对矢量进行排序,然后只检查相邻元素。

如果“更容易”你的意思是“我能避免写任何循环”,那么是的,你可以。两者在前面段落中提到的步骤(排序,并检查相邻元件的等价)具有在标准库的实现。该功能被命名为sortadjacent_find