int DeleteTree(BSTree &p,int height){ ? BSTree s,q;? ? ?if(p==NULL) { printf("沒有該用戶刪除失敗\n"); return 0; } if(!p->rchild ) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//沒有右孩子 { q=p;p=p->lchild ;delete q;q=NULL; } else if(!p->lchild ) ? ? ? ? ? ? ? ? ? ? ?//沒有左孩子 { q=p; p=p->rchild ;delete q ;q=NULL; } else? {? s=p->lchild; q=p; while(s->rchild) { q=s; s=s->rchild ; } p->data =s->data ; if(q!=p) q->rchild =s->lchild ; else q->lchild =s->rchild ; delete s; s=NULL; }p是要刪除信息的樹節點這個函數只能正常刪除左右孩子不為空的節點,刪除其他節點我遍歷輸出信息會運行錯誤,有誰可以幫下我嗎
- 1 回答
- 0 關注
- 1630 瀏覽
添加回答
舉報
0/150
提交
取消