fix binary_search_tree code

This commit is contained in:
krahets
2023-08-31 02:31:31 +08:00
parent f7ab4797bf
commit 628d8a516b
14 changed files with 195 additions and 227 deletions

View File

@@ -70,8 +70,11 @@ pub fn BinarySearchTree(comptime T: type) type {
// 插入节点
fn insert(self: *Self, num: T) !void {
// 若树为空,直接提前返回
if (self.root == null) return;
// 若树为空,则初始化根节点
if (self.root == null) {
self.root = try self.mem_allocator.create(inc.TreeNode(T));
return;
}
var cur = self.root;
var pre: ?*inc.TreeNode(T) = null;
// 循环查找,越过叶节点后跳出