问答题
已知二叉查找树采用链式存储结构,结点结构为(1ch,data,rch),若令root指向二叉查找树的树根,P指向树中的某个非叶子结点,请编写算法删除p所指结点并保持该树为二叉查找树。 void deletep(BSTree&root,BSTree p) {/*在root指向的二叉查找树中删除结点非叶子结点p*/ if(p一>ich){s=p->ich;pre=p; while ( (1) ) { (2) ;s=s一>rch;) P一>data=s一>data; if(pre==p) (3) ; else (4) } else{s=p一>rch:pre=p: while( (5) ) ( (6) ;S=S一>Ich;) P一>data=s一>data; if(pre==p) (7) ;else (8) ; } free(S); }/*deletep*/ 【西安电子科技大学2004二、2(8分)】
【正确答案】正确答案:(1)s一>rch (2)pre=s (3)p一>lch=s一>lch (4)pre一>rch=s一>lch(5) s一>lch (6)pre=s (7)p一>rch=s一>rch (8)pre一>lch=s一>rch
【答案解析】