mọi người cho mình hỏi ý nghĩa của đoạn code này về xóa node 1 con và node lá trong cây nhị phân vói ạ phần đẹ quy tìm data thì e hỏi rồi còn phần cập nhật mối liên kết của node cha với các node con của node cần xóa thì vẫn mông lung
void XoaNode(TREE& t, int data) // data chính là giá trị của cái node cần xóa
{
if (t == NULL)
{
return;
}
else
{
if (data < t->data)
{
XoaNode(t->pLeft, data); //
}
else if (data > t->data)
{
XoaNode(t->pRight, data);
}
else
{
NODE* X = t;
if (t->pLeft == NULL)
{
t = t->pRight;
}
else if (t->pRight == NULL)
{
t = t->pLeft;
}
delete X;
}
}
}