我想知道是否可以从范围的末尾开始std::search()
而不是开头。我知道find_end
就足够了,但我想知道search
是否可行。一个例子:
我有一个数据集
1 2 3 4 5 1 2 | 3 4 5 6 7 1 3
|
表示范围内的中断,这两个分区将异步执行。
是否可以从分区的最后一个点开始搜索范围1 2
?我认为可以在范围和子序列上做一些反向迭代器吗?
search(reverse_iter_begin, reverse_iter_end, reverse_iter_subseq_begin, reverse_iter_subseq_end)
答案 0 :(得分:4)
标准算法std::find_end
专门为只有前向迭代器的容器编写。例如,您可以将std::find_end
与std::forward_list
当然你可以使用std::search
和双向迭代器来应用迭代器适配器std::reverse_iterator
或者使用容器的内置反向迭代器,例如类std :: vector的反向迭代器你在哪里可以使用成员函数rbegin
和rend