diff --git a/src/tree.c b/src/tree.c index 22ff887..bb23d5c 100644 --- a/src/tree.c +++ b/src/tree.c @@ -1689,30 +1689,30 @@ void tree_avl_breadth(struct _tree* self, struct _tree_node* root) if(node != NULL) { - queue->push(queue, node); + queue->push(queue, &node); while(!queue->empty(queue)) { - queue->pop(queue, node); + queue->pop(queue, &node); if(!self->_right_priority) { if(node->left != NULL) { - queue->push(queue, node->left); + queue->push(queue, &node->left); } if(node->right != NULL) { - queue->push(queue, node->right); + queue->push(queue, &node->right); } } else { if(node->right != NULL) { - queue->push(queue, node->right); + queue->push(queue, &node->right); } if(node->left != NULL) { - queue->push(queue, node->left); + queue->push(queue, &node->left); } } self->print_obj(node->obj); diff --git a/test/test.c b/test/test.c index ec6e894..2b4e99f 100644 --- a/test/test.c +++ b/test/test.c @@ -38,8 +38,8 @@ int main() // test_list(); // test_stack(); // test_deque(); - test_queue(); - // test_tree(); + // test_queue(); + test_tree(); // rbtree_test(); } diff --git a/test/tree_test.c b/test/tree_test.c index 9b3bd4e..a3b0b49 100644 --- a/test/tree_test.c +++ b/test/tree_test.c @@ -267,6 +267,15 @@ void tree_test(void) #endif #endif +/** + * @brief + * int data[] = { 5,2,3,1,7,8,6 }; + * 5 + * | | + * 2 7 + * | | | | + * 1 3 6 8 + */ void test_tree_num(void) { uint32_t i = 0;