push的obj传参需要用该元素的指针

This commit is contained in:
建峰 2024-06-23 18:12:24 +08:00
parent 785482d7fb
commit 933374f308
3 changed files with 17 additions and 8 deletions

View File

@ -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);

View File

@ -38,8 +38,8 @@ int main()
// test_list();
// test_stack();
// test_deque();
test_queue();
// test_tree();
// test_queue();
test_tree();
// rbtree_test();
}

View File

@ -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;