mirror of
https://github.com/hao14293/2021-Postgraduate-408.git
synced 2026-02-02 18:20:30 +08:00
39 lines
604 B
C++
39 lines
604 B
C++
void DeleteXTree(BiTree bt){
|
|
if(bt){
|
|
DeleteXTree(bt->lchild);
|
|
DeleteXTree(bt->rchild);
|
|
free(bt);
|
|
}
|
|
}
|
|
|
|
void Search(BiTree bt, ElemType x){
|
|
BiTree Q[];
|
|
if(bt){
|
|
if(bt->data == x){
|
|
DeleteXTree(bt);
|
|
exit(0);
|
|
}
|
|
InitQueue(Q);
|
|
EnQueue(Q, bt);
|
|
while(!IsEmpty(Q)){
|
|
DeQueue(Q, p);
|
|
if(p->lchild){
|
|
if(p->lchild->data == x){
|
|
DeleteXTree(p->lchild);
|
|
p->lchild = NULL;
|
|
}
|
|
else
|
|
EnQueue(Q, p->lchild);
|
|
}
|
|
if(p->rchild){
|
|
if(p->rchild->data == x){
|
|
DeleteXTree(p->rchild);
|
|
p->rchild = NULL;
|
|
}
|
|
else
|
|
EnQueue(Q, p->rchild);
|
|
}
|
|
}
|
|
}
|
|
}
|