void pre_order_traverse(BiTree T){ if (T == NULL) return; printf("%d ",T->data); pre_order_traverse(T->lchild); pre_order_traverse(T->rchild); }
void pre_order_traverse(int root) { if(root > array_size || tree[root] == 0) return; printf("%3d", tree[root]); pre_order_traverse(left_child(root)); pre_order_traverse(right_child(root)); }
//If the traverse useful? bool pre_order_traverse( BiTree T, bool(*visit)(TElemType e) ){ if( T ){ if( visit( T->value ) ) if( pre_order_traverse( T->l_child, vist ) ) if( pre_order_traverse( T->r_child, vist ) ) return true; return false; }else{ return true; } }
/** * * \brief * Preoder traverse a binary tree * * \param root The root of a binary tree (input) * * \return none. * */ void pre_order_traverse(BiNode *root) { if(NULL == root) { return; } printf("%s\t", root->name); pre_order_traverse(root->lchild); pre_order_traverse(root->rchild); return; }
int main() { bitree T; create_bitree(&T); pre_order_traverse(T); return 0; }
int main(int argc, char** argv) { srand((unsigned int)time(NULL)); //printf("rand:%d", rand()%100); //printf("rand:%d", rand()%100); //printf("rand:%d", rand()%100); insert(rand()%100); insert(rand()%100); insert(rand()%100); insert(rand()%100); insert(rand()%100); insert(rand()%100); //insert(myrand(100)); //insert(myrand(100)); #if 0 binary_tree_s* psTmp = find(49); if (NULL != psTmp) printf("val:%d\n", psTmp->m_nVal); #endif printf("pre ord:\n"); pre_order_traverse(psTree); printf("\nmid ord:\n"); mid_order_traverse(psTree); printf("\naft ord:\n"); aft_order_traverse(psTree); destroy_tree(psTree); printf("xxxxxxxx\n"); //pre_order_traverse(psTree); return 0; }