Difference between revisions of "TADM2E 3.21"
From Algorithm Wiki
(Recovering wiki) |
(Recovering wiki) |
||
Line 1: | Line 1: | ||
− | + | <pre> | |
bool compare(struct node* a, struct node* b) { | bool compare(struct node* a, struct node* b) { | ||
− | // 1. both empty - | + | // 1. both empty -> true |
− | if (a==NULL & | + | if (a==NULL && b==NULL) return(true); |
− | // 2. both non-empty - | + | // 2. both non-empty -> compare them |
− | else if (a!=NULL & | + | else if (a!=NULL && b!=NULL) { |
return( | return( | ||
− | a- | + | a->data == b->data && |
− | compare(a- | + | compare(a->left, b->left) && |
− | compare(a- | + | compare(a->right, b->right) |
); | ); | ||
} | } | ||
− | // 3. one empty, one not - | + | // 3. one empty, one not -> false |
else return(false); | else return(false); | ||
} | } | ||
− | + | </pre> | |
--[[User:Max|Max]] 06:41, 25 June 2010 (EDT) | --[[User:Max|Max]] 06:41, 25 June 2010 (EDT) |
Latest revision as of 18:22, 11 September 2014
bool compare(struct node* a, struct node* b) { // 1. both empty -> true if (a==NULL && b==NULL) return(true); // 2. both non-empty -> compare them else if (a!=NULL && b!=NULL) { return( a->data == b->data && compare(a->left, b->left) && compare(a->right, b->right) ); } // 3. one empty, one not -> false else return(false); }
--Max 06:41, 25 June 2010 (EDT)