Skip to content

0607_CSTree/CSTree.cpp中第48行和52行是否能省略if判断 #41

@sunrise0307

Description

@sunrise0307

https://github.com/kangjianwei/Data-Structure/blob/master/Dev-C%2B%2B/CourseBook/0607_CSTree/CSTree.cpp
//提问者认为在此函数中在42-44行已经有判断树是否存在的算法,第48行和52行判断长子树和兄弟树是否存在的算法是冗余的,不知是否可以去掉?

Status ClearTree(CSTree* T) {
    if(T == NULL) {
        return ERROR;
 }

// 在*T不为空时进行递归清理
if(*T) {
    if((*T)->firstchild != NULL) {
        ClearTree(&((*T)->firstchild));
    }
    
    if((*T)->nextsibling != NULL) {
        ClearTree(&((*T)->nextsibling));
    }
    
    free(*T);
    *T = NULL;
}

return OK;

}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions