Open ffqq16 opened 2 weeks ago
你好,很高兴听到我的代码对你有帮助!
这个是我好久之前写的了,我可能没有时间来加这个 feature,但是我可以给你个思路
比如你要 search [a, b]
可以参照这个 function
https://github.com/Nero5023/bplustree/blob/0b5812d8082dd09bc860f19a87e17b1b1ff12c3a/bplus_tree/node.py#L70-L82
可以找到这个 range 的起始点 a,然后往右边 遍历 到 b
如何遍历,可以参照这个
https://github.com/Nero5023/bplustree/blob/0b5812d8082dd09bc860f19a87e17b1b1ff12c3a/bplus_tree/node.py#L98-L108
但要先看 https://github.com/Nero5023/bplustree/blob/0b5812d8082dd09bc860f19a87e17b1b1ff12c3a/bplus_tree/node.py#L82
这里的 items 能不能 cover 你的 range,如果没有 cover,就继续往右遍历
另外一个更好的做法是,找到起始点 a,然后直接然后一个 iterator, iterator 的终止条件就是 结束的位置 b
运行了您的代码,对我来说帮助特别大。另外想问您的是有没有范围查找的代码,因为在您的代码中只有大于/小于等于