Example #1
0
void btree_test() {
	struct btree *node1 = btree_create(NULL, TYPE_INT, 1);
	struct btree *node2 = btree_create(NULL, TYPE_INT, 2);
	struct btree *node3 = btree_create(NULL, TYPE_INT, 3);
	struct btree *node4 = btree_create(NULL, TYPE_INT, 4);
	struct btree *node5 = btree_create(NULL, TYPE_INT, 5);
	struct btree *node6 = btree_create(NULL, TYPE_INT, 6);
	struct btree *node7 = btree_create(NULL, TYPE_INT, 7);
	struct btree *node8 = btree_create(NULL, TYPE_INT, 8);
	node1->left = node2;
	node1->right = node3;
	node2->left = node4;
	node2->right = node5;
	node3->left = node6;
	node3->right = node7;
	node4->left = node8;

	fprintf(stdout, "preorder:\n");
	btree_preorder(node1);

	fprintf(stdout, "postorder:\n");
	btree_postorder(node1);

	fprintf(stdout, "inorder:\n");
	btree_inorder(node1);
	
	fprintf(stdout, "btree_search(node5, node8) = %d\n", btree_search(node5, node8));	
	fprintf(stdout, "btree_search(node4, node8) = %d\n", btree_search(node4, node8));	

	btree_destroy(node1);
}
Example #2
0
File: main.c Project: wdalmut/tree
static char *test_list_existing_leafs() {
    leaf *root = (leaf *)malloc(sizeof(leaf));
    root->value = 100;

    btree_put(root, 110);
    btree_put(root, 87);
    btree_put(root, 90);
    btree_put(root, 153);
    btree_put(root, 120);
    btree_put(root, 124);

    result *node = btree_inorder(root, NULL);

    mu_assert("The result list should not be empty", node != NULL);

    mu_assert("First element should be 87",    node->value == 87);
    mu_assert("Second element should be 90",   node->next->value == 90);
    mu_assert("Third element should be 100",   node->next->next->value == 100);
    mu_assert("Fourth element should be 110",  node->next->next->next->value == 110);
    mu_assert("Fifth element should be 120",   node->next->next->next->next->value == 120);
    mu_assert("Sixth element should be 124",   node->next->next->next->next->next->value == 124);
    mu_assert("Seventh element should be 153", node->next->next->next->next->next->next->value == 153);

    return 0;
}