我目前正在制作数据结构库,现在我正在尝试制作几种可以处理这些数据结构的算法。
我没有使用迭代器,而是使用范围的概念,而不是单个类别标记,我使用两个不同的标记:一个用于遍历&一个用于访问元素。我有以下遍历概念:一个方向范围,两个方向范围&随机访问范围和以下访问概念:不可变范围&可变范围。
我想问一下,实际实现一些算法是否有意义,这些算法会在序列中找到最后一次出现,或者只允许双向范围使用反向范围来实现这一点。
我知道如何使用一个方向范围来实现算法,但是如果元素不在范围内,这个算法的返回值应该是多少?当我想在一个方向范围内找到最后一次出现时,我实际上从头到尾遍历。当我使用双向范围执行相同的算法时,我从rbegin遍历到rend。如果该元素不在一个方向范围的范围内,那么返回一个过去最后一个元素是否有意义?