1. 首页
  2. 编程语言
  3. 其他
  4. 完整的二叉排序树的代码和测试程序

完整的二叉排序树的代码和测试程序

上传者: 2018-12-09 11:55:18上传 CPP文件 1.9KB 热度 64次
void InsertBST(BiNode *&r, BiNode *s) { if ( r == NULL) r = s; else if (s->data data ) InsertBST(r->lch, s); else InsertBST(r->rch, s); } void Create(BiNode *&R, int r[], int n) { for (int i=0; i * s = new BiNode ; s->data = r[i]; s->lch = s->rch = NULL; InsertBST(R, s); } } template void Delete(BiNode *&R) { BiNode *q,*s; if(R->lch==NULL) { q=R; R=R->rch; delete q; } else if (R->rch==NULL) { q=R; R=R->lch; delete q; } else { q = R; s = R->lch; //s是R的前驱, q是s的双亲 while(s->rch!=NULL) { q = s; s = s->rch; } R->data = s->data; if(q!=R) q->rch = s->lch; else R->lch = s->lch; //q=R表示s为R的左孩子 delete s; } }
下载地址
用户评论