是否存在未分类范围的std :: includes等价物?

时间:2015-09-08 23:37:23

标签: c++ algorithm stl

std::includesdocumented as

  

如果排序范围 [first2,last2]中的每个元素都是,则返回true   在排序范围 [first1,last1]中找到。如果,也返回true   [first2,last2)是空的。

重点是我的。

是否有一个等效的C ++算法可以在容器的未排序范围内重现此功能,或者我是否必须通过循环返回自己实现这个功能?

1 个答案:

答案 0 :(得分:5)

如果您首先对范围进行排序,则排序将在O( n log n )时间运行,搜索将在O( m + n )时间。如果您尝试在未排序的范围内天真地执行此操作,它将在O( m · n )时间运行。 通常通常只是排序。

但是,search可以有效地为子字符串提供未排序的范围。这是我能想到的最接近你要求的东西。