Example #1
0
int Tree_Dump (node* my_node, char* tab)
{
	assert(my_node);
	assert(tab);


	Node_Dump (my_node);

	fprintf (LOG, "%s|\n", tab);
	fprintf (LOG, "%s" "R---", tab);

	char new_tab[TMPLEN] = {};
	sprintf(new_tab, "%s|   ", tab);

	if (my_node -> right == NULL) fprintf(LOG, "[nil]\n");
	else Tree_Dump (my_node -> right, new_tab);

	fprintf (LOG, "%s|\n", tab);
	fprintf (LOG, "%s" "L---", tab);

	sprintf(new_tab, "%s    ", tab);
	if (my_node -> left == NULL) fprintf (LOG, "[nil]\n");
	else Tree_Dump (my_node -> left, new_tab);

return HAPPY;
}
int Node_Add_Left (root_t* tree, tree_t* node, tree_t* child)
{
    TREE_CHECK (tree);
    NODE_CHECK (node);
    NODE_CHECK (child);

    if (node->left == NULL)
    {
        node->left = child;
        node->left->parent = node;

        TEC (Tree_Update_Sizes (tree, node, child->size), node);
    }

    Tree_Dump (stdout, tree);

    TREE_CHECK (tree);
    NODE_CHECK (node);

    return TREE_OK;
}
Example #3
0
int main()
{
	FILE* the_expression = fopen ("the_expression.txt", "r");

	assert (THE_LOG);
	assert (the_expression);

	node* exp_tree = Node_NEW();

	Check_Error (Tree_Read_in (the_expression, exp_tree));

	int nTabs = 0;
	Tree_Dump (exp_tree, nTabs);
	fprintf (THE_LOG, "\n\n\n");
	Tree_Print (exp_tree);

	Tree_Delete (exp_tree);

	fclose (the_expression);
	fclose (THE_LOG);
return 0;
}