Usage example: var iter = treap.inorderIterator(); while (iter.next()) |node| { ... }
current: ?*Nodepub fn next(it: *InorderIterator) ?*Nodeit: *InorderIteratorpub fn next(it: *InorderIterator) ?*Node {
const current = it.current;
it.current = if (current) |cur|
cur.next()
else
null;
return current;
}pub const InorderIterator = struct {
current: ?*Node,
pub fn next(it: *InorderIterator) ?*Node {
const current = it.current;
it.current = if (current) |cur|
cur.next()
else
null;
return current;
}
}