CSharpTest.Net.Collections icon indicating copy to clipboard operation
CSharpTest.Net.Collections copied to clipboard

Reverse Iteration

Open VJalili opened this issue 10 years ago • 1 comments

Hi, I should say: BPlusTree has lots of quite utile features specially for iterations. Features such as: tree.EnumerateFrom, tree.EnumerateRange, or tree.GetEnumerator(). Leveraging on these functions most of common operations are supported out-of-box, however I was wondering if there is any possibility to do reverse iteration. For example a variation of tree.EnumerateFrom which starts iterating from given key toward BEGINNING of tree rather END. Maybe this aspect is covered, in that case I would appreciate if you could explain it. Otherwise, would you mind please guide me through ?

Reverse iteration is indeed useful when trying to perform some operations on key's surrounding the given key.

VJalili avatar Oct 08 '14 20:10 VJalili

Correct, reverse iteration is currently not supported. It would be possible to implement a copy of BPlusTree.Enumerator that would iterate the nodes in reverse. As of yet, I have not implemented this. I'll leave this open as an enhancement request.

Feel free to implement this, and all the required unit tests, and send a push request.

csharptest avatar Oct 09 '14 00:10 csharptest