Commit 082e48d
Changed files (3)
src
02
src/02/05/btree.c
@@ -24,7 +24,8 @@ BTree *btree_init(int data) {
void btree_pre_order_number(BTree *root) {
BTree *original = root;
- if (root == NULL) return;
+ if (root == NULL)
+ return;
Stack *stack = stack_init();
int i = 0;
@@ -45,7 +46,8 @@ void btree_pre_order_number(BTree *root) {
void btree_in_order_number(BTree *root) {
BTree *original = root;
- if (root == NULL) return;
+ if (root == NULL)
+ return;
Stack *stack = stack_init();
int i = 0;
@@ -54,8 +56,7 @@ void btree_in_order_number(BTree *root) {
if (root) {
stack_push(stack, root);
root = root->left;
- }
- else {
+ } else {
if (stack_size(stack) == 0)
break;
@@ -80,8 +81,10 @@ void btree_post_order_number(BTree *root) {
root = stack_pop(s1);
stack_push(s2, root);
- if (root->left) stack_push(s1, root->left);
- if (root->right) stack_push(s1, root->right);
+ if (root->left)
+ stack_push(s1, root->left);
+ if (root->right)
+ stack_push(s1, root->right);
}
int i = 0;
@@ -100,11 +103,10 @@ BTree *btree_insert(BTree *tree, int data) {
btree_insert(tree->left, data);
else
tree->left = btree_init(data);
+ else if (tree->right)
+ btree_insert(tree->right, data);
else
- if (tree->right)
- btree_insert(tree->right, data);
- else
- tree->right = btree_init(data);
+ tree->right = btree_init(data);
return tree;
}
src/02/05/btree_test.c
@@ -13,7 +13,8 @@ Ensure(BinaryTree, when_the_tree_is_NULL) {
assert_that(tree->data, is_equal_to(10));
}
-Ensure(BinaryTree, when_the_tree_has_a_single_node_it_returns_the_items_in_order) {
+Ensure(BinaryTree,
+ when_the_tree_has_a_single_node_it_returns_the_items_in_order) {
BTree *tree = btree_insert(NULL, 10);
btree_in_order_number(tree);
@@ -21,7 +22,8 @@ Ensure(BinaryTree, when_the_tree_has_a_single_node_it_returns_the_items_in_order
assert_that(tree->in_order[0], is_equal_to(10));
}
-Ensure(BinaryTree, when_the_tree_has_multiple_levels_it_returns_the_items_in_order) {
+Ensure(BinaryTree,
+ when_the_tree_has_multiple_levels_it_returns_the_items_in_order) {
BTree *tree = btree_insert(NULL, 10);
btree_insert(tree, 5);
@@ -42,7 +44,8 @@ Ensure(BinaryTree, when_the_tree_has_multiple_levels_it_returns_the_items_in_ord
assert_that(tree->in_order[6], is_equal_to(18));
}
-Ensure(BinaryTree, when_the_tree_has_multiple_levels_it_returns_the_items_in_pre_order) {
+Ensure(BinaryTree,
+ when_the_tree_has_multiple_levels_it_returns_the_items_in_pre_order) {
BTree *tree = btree_insert(NULL, 10);
btree_insert(tree, 5);
@@ -70,7 +73,8 @@ Ensure(BinaryTree, when_the_tree_has_multiple_levels_it_returns_the_items_in_pre
assert_that(tree->pre_order[6], is_equal_to(18));
}
-Ensure(BinaryTree, when_the_tree_has_multiple_levels_it_returns_the_items_in_post_order) {
+Ensure(BinaryTree,
+ when_the_tree_has_multiple_levels_it_returns_the_items_in_post_order) {
BTree *tree = btree_insert(NULL, 10);
btree_insert(tree, 5);
@@ -178,10 +182,18 @@ Ensure(
TestSuite *btree_tests() {
TestSuite *suite = create_test_suite();
add_test_with_context(suite, BinaryTree, when_the_tree_is_NULL);
- add_test_with_context(suite, BinaryTree, when_the_tree_has_a_single_node_it_returns_the_items_in_order);
- add_test_with_context(suite, BinaryTree, when_the_tree_has_multiple_levels_it_returns_the_items_in_order);
- add_test_with_context(suite, BinaryTree, when_the_tree_has_multiple_levels_it_returns_the_items_in_pre_order);
- add_test_with_context(suite, BinaryTree, when_the_tree_has_multiple_levels_it_returns_the_items_in_post_order);
+ add_test_with_context(
+ suite, BinaryTree,
+ when_the_tree_has_a_single_node_it_returns_the_items_in_order);
+ add_test_with_context(
+ suite, BinaryTree,
+ when_the_tree_has_multiple_levels_it_returns_the_items_in_order);
+ add_test_with_context(
+ suite, BinaryTree,
+ when_the_tree_has_multiple_levels_it_returns_the_items_in_pre_order);
+ add_test_with_context(
+ suite, BinaryTree,
+ when_the_tree_has_multiple_levels_it_returns_the_items_in_post_order);
add_test_with_context(
suite, BinaryTree,
src/02/05/stack_test.c
@@ -57,7 +57,8 @@ Ensure(Stack, when_popping_an_item_off_of_a_stack) {
TestSuite *stack_tests() {
TestSuite *suite = create_test_suite();
add_test_with_context(suite, Stack, when_pushing_an_item_on_to_a_stack);
- add_test_with_context(suite, Stack, when_pushing_multiple_items_on_to_a_stack);
+ add_test_with_context(suite, Stack,
+ when_pushing_multiple_items_on_to_a_stack);
add_test_with_context(suite, Stack, when_pushing_a_custom_type_on_to_a_stack);
add_test_with_context(suite, Stack, when_popping_an_item_off_of_a_stack);
return suite;