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) if(node != NULL)
{ {
queue->push(queue, node); queue->push(queue, &node);
while(!queue->empty(queue)) while(!queue->empty(queue))
{ {
queue->pop(queue, node); queue->pop(queue, &node);
if(!self->_right_priority) if(!self->_right_priority)
{ {
if(node->left != NULL) if(node->left != NULL)
{ {
queue->push(queue, node->left); queue->push(queue, &node->left);
} }
if(node->right != NULL) if(node->right != NULL)
{ {
queue->push(queue, node->right); queue->push(queue, &node->right);
} }
} }
else else
{ {
if(node->right != NULL) if(node->right != NULL)
{ {
queue->push(queue, node->right); queue->push(queue, &node->right);
} }
if(node->left != NULL) if(node->left != NULL)
{ {
queue->push(queue, node->left); queue->push(queue, &node->left);
} }
} }
self->print_obj(node->obj); self->print_obj(node->obj);

View File

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

View File

@ -267,6 +267,15 @@ void tree_test(void)
#endif #endif
#endif #endif
/**
* @brief
* int data[] = { 5,2,3,1,7,8,6 };
* 5
* | |
* 2 7
* | | | |
* 1 3 6 8
*/
void test_tree_num(void) void test_tree_num(void)
{ {
uint32_t i = 0; uint32_t i = 0;