void destroyBranch( WordNode *node ) { if( node->left ) { destroyBranch( node->left ); node->left = NULL; } if( node->right ) { destroyBranch( node->right ); node->right = NULL; } freeNode( node ); }
void destroyBranch(struct Cube_t *cube) { int m; for (m=0;m<UNIQUE_MOVES;m++) { if (cube->nextMove[m]) destroyBranch(cube->nextMove[m]); } GlobalFree(cube); }
void destroyBranch(Cube *cube) { int m; for (m=0; m<UNIQUE_MOVES; m++) { if (cube->nextMove[m]) destroyBranch(cube->nextMove[m]); } //GlobalFree(cube); free(cube); }
void pruneClones(struct Cube_t *orig, struct Cube_t *cube) { if (cube->depth > orig->depth) { if (compareCube(orig, cube)) { cube->parent->nextMove[cube->lastMove] = NULL; destroyBranch(cube); return; } } int m; for (m=0;m<UNIQUE_MOVES;m++) { if (cube->nextMove[m]) pruneClones(orig, cube->nextMove[m]); } return; }