static void recursive_display(BSTreeNode* node, BSTree_Printf* pFunc, int format, int gap, char div) // O(n) { int i = 0; if( (node != NULL) && (pFunc != NULL) ) { for(i=0; i<format; i++) { printf("%c", div); } pFunc(node); printf("\n"); if( (node->left != NULL) || (node->right != NULL) ) { recursive_display(node->left, pFunc, format + gap, gap, div); recursive_display(node->right, pFunc, format + gap, gap, div); } } else { for(i=0; i<format; i++) { printf("%c", div); } printf("\n"); } }
void ft_putnbr_base(int nbr, char *base) { int base_int; base_int = base_check(base); if (base_int <= 1) return ; recursive_display(nbr, base_int, base); }
void BSTree_Display(BSTree* tree, BSTree_Printf* pFunc, int gap, char div) // O(n) { TBSTree* btree = (TBSTree*)tree; if( btree != NULL ) { recursive_display(btree->root, pFunc, 0, gap, div); } }
void GTree_Display(GTree* tree, GTree_Printf* pFunc, int gap, char div) { TLNode* trNode = (TLNode*)LinkList_Get(tree, 0); if( (trNode != NULL) && (pFunc != NULL) ) { recursive_display(trNode->node, pFunc, 0, gap, div); } }
void recursive_display(int nbr, int base_int, char *base_ascii) { if (nbr == -2147483648) { manage_exception(); return ; } if (nbr < 0) { ft_putchar('-'); nbr = nbr * -1; } if (nbr >= base_int) { recursive_display(nbr / base_int, base_int, base_ascii); recursive_display(nbr % base_int, base_int, base_ascii); } else ft_putchar(base_ascii[nbr]); }
static void recursive_display(GTreeNode* node, GTree_Printf* pFunc, int format, int gap, char div) { int i = 0; if( (node != NULL) && (pFunc != NULL) ) { for(i=0; i<format; i++) { printf("%c", div); } pFunc(node->data); printf("\n"); for(i=0; i<LinkList_Length(node->child); i++) { TLNode* trNode = (TLNode*)LinkList_Get(node->child, i); recursive_display(trNode->node, pFunc, format + gap, gap, div); } } }