元素的判断它的成员变量 name 是否与查找的姓名相匹配。若匹配则
返回该结点的地址,若不匹配,则删除队头元素将它的左右孩子入队
列(左右孩子不空的情况下),进行循环。若直到遍历完整棵子树都
还没找到,则返回一个空指针。
3)void Binarytree::searchChild(string name);
//形参 name 要查找的姓名,按姓名查找某人的孩子,若找到记录则
显示该节点孩子的姓名,反之,则提示未找到信息。
算法:调用 Binarytnode* searchRecord(string name)函数查找与参数
name 相匹配的记录,然后判断其返回的地址是否为空,若为空则不
进行查找其子女,若不为空,则输出其左右孩子(左右孩子不空的情
况下)。
4)void Binarytree::searchParent(string name);
//形参 name 要查找的姓名,按姓名查找某人的祖先,若找到记录则
按辈份从小到大显示该节点的祖先,反之,则提示未找到信息。
算法:调用 Binarytnode* searchRecord(string name)函数查找与参数
name 相匹配的记录,然后判断其返回的地址是否为空,若为空则不
进行查找其双亲,若不为空,则用循环通过双亲指针按辈分从小到大
输出双亲的姓名,直到双亲的地址为空,结束循环。
5)void Binarytree::addRecord(string parent,string name);
//插入家族成员记录,形参 parent 为要插入的家族成员的双亲姓名,
形参 name 为要插入家族成员的姓名。
算法:调用 Binarytnode* searchRecord(string name)函数查找与参数
name 相匹配的记录,然后判断其返回的地址是否为空,若为空则不
5
评论3
最新资源