二叉排序树,在各种面试中都要考察,算法数据结构考察的重点。今天照着教科书的程序打了一通,发现它运行达不到预想的效果(中序遍历为空),调试后发现其在Insert出错,没有能够将值插入二叉树,但保存了值到ST=new Node[maxSize];的ST中,ST用于顺序保存输入的数据。
删除时 : 12
5 54
18 64
14 25
20
当要删除54时,(q!=p,有移动,那么直接将q->rchild=s->lchild),
p->lchild,p->rchild 都为真
p->>54,q->>54,s->>18
q->>18, s->>25,
将25替换54,p->data=s->data
18的右节点指向20,q->rchild =s->lchild;
删除当前25节点,delete s;
没15、20:12
5 54
18 64
14
要删除54,(q==p,没有移动,那么直接将q->lchild=s->lchild)
p->lchild,p->rchild 都为真
p->>54,q->>54,s->>18
要删除54,p->data=s->data;
q->lchild=s->lchild
delete s;
#######################