Commit 8d326c4
Changed files (3)
src
02
src/02/05/btree.c
@@ -22,6 +22,22 @@ BTree *btree_init(int data) {
return tree;
}
+void btree_pre_order_number(BTree *tree) {
+ //self
+ //left
+ //right
+}
+void btree_in_order_number(BTree *tree) {
+ // left
+ // self
+ // right
+}
+void btree_post_order_number(BTree *tree) {
+ // left
+ // right
+ // self
+}
+
BTree *btree_insert(BTree *tree, int data) {
if (!tree)
return btree_init(data);
src/02/05/btree.h
@@ -4,12 +4,15 @@
typedef struct btree_node {
struct btree_node *left;
struct btree_node *right;
- int *in_order;
- int *post_order;
- int *pre_order;
+ int pre_order[32];
+ int in_order[32];
+ int post_order[32];
int data;
} BTree;
BTree *btree_init(int data);
BTree *btree_insert(BTree *root, int data);
+void btree_in_order_number(BTree *tree);
void btree_inspect(BTree *tree);
+void btree_post_order_number(BTree *tree);
+void btree_pre_order_number(BTree *tree);
src/02/05/btree_test.c
@@ -13,6 +13,14 @@ 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) {
+ BTree *tree = btree_insert(NULL, 10);
+
+ btree_in_order_number(tree);
+
+ assert_that(tree->in_order[0], is_equal_to(10));
+}
+
Ensure(
BinaryTree,
when_inserting_an_item_less_than_the_root_in_a_tree_it_creates_a_node_on_the_left_side) {
@@ -93,6 +101,8 @@ 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_inserting_an_item_less_than_the_root_in_a_tree_it_creates_a_node_on_the_left_side);