修改tree的遍历参数

This commit is contained in:
建峰 2025-06-20 11:14:59 +08:00
parent 3c2ecd52b1
commit 9d26afb817
5 changed files with 73 additions and 75 deletions

View File

@ -55,7 +55,7 @@ void demo_avltree_num(void)
tree->print_obj(&temp); tree->print_obj(&temp);
printf("size = %2d : ", tree->size(tree)); printf("size = %2d : ", tree->size(tree));
iter = tree->iter(tree, ORDER_PRE); iter = tree->iter(tree, TREE_DFS_PRE);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(int *)iter->next(iter); temp = *(int *)iter->next(iter);
@ -88,7 +88,7 @@ void demo_avltree_num(void)
} }
printf("----- preorder -----\n"); printf("----- preorder -----\n");
iter = tree->iter(tree, ORDER_PRE); iter = tree->iter(tree, TREE_DFS_PRE);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(int *)iter->next(iter); temp = *(int *)iter->next(iter);
@ -97,7 +97,7 @@ void demo_avltree_num(void)
printf("\n"); printf("\n");
printf("----- inorder -----\n"); printf("----- inorder -----\n");
iter = tree->iter(tree, ORDER_IN); iter = tree->iter(tree, TREE_DFS_IN);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(int *)iter->next(iter); temp = *(int *)iter->next(iter);
@ -106,7 +106,7 @@ void demo_avltree_num(void)
printf("\n"); printf("\n");
printf("----- postorder -----\n"); printf("----- postorder -----\n");
iter = tree->iter(tree, ORDER_POST); iter = tree->iter(tree, TREE_DFS_POST);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(int *)iter->next(iter); temp = *(int *)iter->next(iter);
@ -115,7 +115,7 @@ void demo_avltree_num(void)
printf("\n"); printf("\n");
printf("----- breadth -----\n"); printf("----- breadth -----\n");
iter = tree->iter(tree, ORDER_BREADTH); iter = tree->iter(tree, TREE_BFS);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(int *)iter->next(iter); temp = *(int *)iter->next(iter);
@ -124,7 +124,7 @@ void demo_avltree_num(void)
printf("\n"); printf("\n");
printf("----- preorder(right) -----\n"); printf("----- preorder(right) -----\n");
iter = tree->iter(tree, ORDER_PRE_R); iter = tree->iter(tree, TREE_DFS_PRE_R);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(int *)iter->next(iter); temp = *(int *)iter->next(iter);
@ -133,7 +133,7 @@ void demo_avltree_num(void)
printf("\n"); printf("\n");
printf("----- inorder(right) -----\n"); printf("----- inorder(right) -----\n");
iter = tree->iter(tree, ORDER_IN_R); iter = tree->iter(tree, TREE_DFS_IN_R);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(int *)iter->next(iter); temp = *(int *)iter->next(iter);
@ -142,7 +142,7 @@ void demo_avltree_num(void)
printf("\n"); printf("\n");
printf("----- postorder(right) -----\n"); printf("----- postorder(right) -----\n");
iter = tree->iter(tree, ORDER_POST_R); iter = tree->iter(tree, TREE_DFS_POST_R);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(int *)iter->next(iter); temp = *(int *)iter->next(iter);
@ -151,7 +151,7 @@ void demo_avltree_num(void)
printf("\n"); printf("\n");
printf("----- breadth(right) -----\n"); printf("----- breadth(right) -----\n");
iter = tree->iter(tree, ORDER_BREADTH_R); iter = tree->iter(tree, TREE_BFS_R);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(int *)iter->next(iter); temp = *(int *)iter->next(iter);
@ -161,7 +161,7 @@ void demo_avltree_num(void)
printf("----- preorder(left) -----\n"); printf("----- preorder(left) -----\n");
iter = tree->iter(tree, ORDER_PRE); iter = tree->iter(tree, TREE_DFS_PRE);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(int *)iter->next(iter); temp = *(int *)iter->next(iter);
@ -179,7 +179,7 @@ void demo_avltree_num(void)
tree->print_obj(&temp); tree->print_obj(&temp);
printf("size = %2d : ", tree->size(tree)); printf("size = %2d : ", tree->size(tree));
iter = tree->iter(tree, ORDER_PRE); iter = tree->iter(tree, TREE_DFS_PRE);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(int *)iter->next(iter); temp = *(int *)iter->next(iter);
@ -279,7 +279,7 @@ void demo_rbtree_num(void)
tree->print_obj(&temp); tree->print_obj(&temp);
printf("size = %2d : ", tree->size(tree)); printf("size = %2d : ", tree->size(tree));
iter = tree->iter(tree, ORDER_PRE); iter = tree->iter(tree, TREE_DFS_PRE);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(int *)iter->next(iter); temp = *(int *)iter->next(iter);
@ -318,7 +318,7 @@ void demo_rbtree_num(void)
} }
printf("----- preorder -----\n"); printf("----- preorder -----\n");
iter = tree->iter(tree, ORDER_PRE); iter = tree->iter(tree, TREE_DFS_PRE);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(int *)iter->next(iter); temp = *(int *)iter->next(iter);
@ -327,7 +327,7 @@ void demo_rbtree_num(void)
printf("\n"); printf("\n");
printf("----- inorder -----\n"); printf("----- inorder -----\n");
iter = tree->iter(tree, ORDER_IN); iter = tree->iter(tree, TREE_DFS_IN);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(int *)iter->next(iter); temp = *(int *)iter->next(iter);
@ -336,7 +336,7 @@ void demo_rbtree_num(void)
printf("\n"); printf("\n");
printf("----- postorder -----\n"); printf("----- postorder -----\n");
iter = tree->iter(tree, ORDER_POST); iter = tree->iter(tree, TREE_DFS_POST);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(int *)iter->next(iter); temp = *(int *)iter->next(iter);
@ -345,7 +345,7 @@ void demo_rbtree_num(void)
printf("\n"); printf("\n");
printf("----- breadth -----\n"); printf("----- breadth -----\n");
iter = tree->iter(tree, ORDER_BREADTH); iter = tree->iter(tree, TREE_BFS);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(int *)iter->next(iter); temp = *(int *)iter->next(iter);
@ -354,7 +354,7 @@ void demo_rbtree_num(void)
printf("\n"); printf("\n");
printf("----- preorder(right) -----\n"); printf("----- preorder(right) -----\n");
iter = tree->iter(tree, ORDER_PRE_R); iter = tree->iter(tree, TREE_DFS_PRE_R);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(int *)iter->next(iter); temp = *(int *)iter->next(iter);
@ -363,7 +363,7 @@ void demo_rbtree_num(void)
printf("\n"); printf("\n");
printf("----- inorder(right) -----\n"); printf("----- inorder(right) -----\n");
iter = tree->iter(tree, ORDER_IN_R); iter = tree->iter(tree, TREE_DFS_IN_R);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(int *)iter->next(iter); temp = *(int *)iter->next(iter);
@ -372,7 +372,7 @@ void demo_rbtree_num(void)
printf("\n"); printf("\n");
printf("----- postorder(right) -----\n"); printf("----- postorder(right) -----\n");
iter = tree->iter(tree, ORDER_POST_R); iter = tree->iter(tree, TREE_DFS_POST_R);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(int *)iter->next(iter); temp = *(int *)iter->next(iter);
@ -381,7 +381,7 @@ void demo_rbtree_num(void)
printf("\n"); printf("\n");
printf("----- breadth(right) -----\n"); printf("----- breadth(right) -----\n");
iter = tree->iter(tree, ORDER_BREADTH_R); iter = tree->iter(tree, TREE_BFS_R);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(int *)iter->next(iter); temp = *(int *)iter->next(iter);
@ -390,7 +390,7 @@ void demo_rbtree_num(void)
printf("\n"); printf("\n");
printf("----- preorder -----\n"); printf("----- preorder -----\n");
iter = tree->iter(tree, ORDER_PRE); iter = tree->iter(tree, TREE_DFS_PRE);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(int *)iter->next(iter); temp = *(int *)iter->next(iter);
@ -409,7 +409,7 @@ void demo_rbtree_num(void)
printf("size = %2d : ", tree->size(tree)); printf("size = %2d : ", tree->size(tree));
iter = tree->iter(tree, ORDER_PRE); iter = tree->iter(tree, TREE_DFS_PRE);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(int *)iter->next(iter); temp = *(int *)iter->next(iter);
@ -461,7 +461,7 @@ void demo_rbtree_struct(void)
tree->print_obj(&temp); tree->print_obj(&temp);
printf("size = %2d : ", tree->size(tree)); printf("size = %2d : ", tree->size(tree));
iter = tree->iter(tree, ORDER_PRE); iter = tree->iter(tree, TREE_DFS_PRE);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(struct _student *)iter->next(iter); temp = *(struct _student *)iter->next(iter);
@ -500,7 +500,7 @@ void demo_rbtree_struct(void)
} }
printf("----- preorder -----\n"); printf("----- preorder -----\n");
iter = tree->iter(tree, ORDER_PRE); iter = tree->iter(tree, TREE_DFS_PRE);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(struct _student *)iter->next(iter); temp = *(struct _student *)iter->next(iter);
@ -509,7 +509,7 @@ void demo_rbtree_struct(void)
printf("\n"); printf("\n");
printf("----- inorder -----\n"); printf("----- inorder -----\n");
iter = tree->iter(tree, ORDER_IN); iter = tree->iter(tree, TREE_DFS_IN);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(struct _student *)iter->next(iter); temp = *(struct _student *)iter->next(iter);
@ -518,7 +518,7 @@ void demo_rbtree_struct(void)
printf("\n"); printf("\n");
printf("----- postorder -----\n"); printf("----- postorder -----\n");
iter = tree->iter(tree, ORDER_POST); iter = tree->iter(tree, TREE_DFS_POST);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(struct _student *)iter->next(iter); temp = *(struct _student *)iter->next(iter);
@ -527,7 +527,7 @@ void demo_rbtree_struct(void)
printf("\n"); printf("\n");
printf("----- breadth -----\n"); printf("----- breadth -----\n");
iter = tree->iter(tree, ORDER_BREADTH); iter = tree->iter(tree, TREE_BFS);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(struct _student *)iter->next(iter); temp = *(struct _student *)iter->next(iter);
@ -536,7 +536,7 @@ void demo_rbtree_struct(void)
printf("\n"); printf("\n");
printf("----- preorder(right) -----\n"); printf("----- preorder(right) -----\n");
iter = tree->iter(tree, ORDER_PRE_R); iter = tree->iter(tree, TREE_DFS_PRE_R);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(struct _student *)iter->next(iter); temp = *(struct _student *)iter->next(iter);
@ -545,7 +545,7 @@ void demo_rbtree_struct(void)
printf("\n"); printf("\n");
printf("----- inorder(right) -----\n"); printf("----- inorder(right) -----\n");
iter = tree->iter(tree, ORDER_IN_R); iter = tree->iter(tree, TREE_DFS_IN_R);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(struct _student *)iter->next(iter); temp = *(struct _student *)iter->next(iter);
@ -554,7 +554,7 @@ void demo_rbtree_struct(void)
printf("\n"); printf("\n");
printf("----- postorder(right) -----\n"); printf("----- postorder(right) -----\n");
iter = tree->iter(tree, ORDER_POST_R); iter = tree->iter(tree, TREE_DFS_POST_R);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(struct _student *)iter->next(iter); temp = *(struct _student *)iter->next(iter);
@ -563,7 +563,7 @@ void demo_rbtree_struct(void)
printf("\n"); printf("\n");
printf("----- breadth(right) -----\n"); printf("----- breadth(right) -----\n");
iter = tree->iter(tree, ORDER_BREADTH_R); iter = tree->iter(tree, TREE_BFS_R);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(struct _student *)iter->next(iter); temp = *(struct _student *)iter->next(iter);
@ -572,7 +572,7 @@ void demo_rbtree_struct(void)
printf("\n"); printf("\n");
printf("----- preorder -----\n"); printf("----- preorder -----\n");
iter = tree->iter(tree, ORDER_PRE); iter = tree->iter(tree, TREE_DFS_PRE);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(struct _student *)iter->next(iter); temp = *(struct _student *)iter->next(iter);
@ -591,7 +591,7 @@ void demo_rbtree_struct(void)
printf("size = %2d : ", tree->size(tree)); printf("size = %2d : ", tree->size(tree));
iter = tree->iter(tree, ORDER_PRE); iter = tree->iter(tree, TREE_DFS_PRE);
while(iter->hasnext(iter)) while(iter->hasnext(iter))
{ {
temp = *(struct _student *)iter->next(iter); temp = *(struct _student *)iter->next(iter);

View File

@ -16,23 +16,22 @@
#include "stack.h" #include "stack.h"
#include "queue.h" #include "queue.h"
typedef enum _rbt_color{
typedef enum {
RBT_RED, RBT_RED,
RBT_BLACK, RBT_BLACK,
}rbt_color; }rbt_color;
// dfs and bfs traversal order // dfs and bfs traversal order
enum _tree_order{ enum _tree_order{
ORDER_PRE, // pre-order TREE_DFS_PRE, // pre-order
ORDER_IN, // in-order TREE_DFS_IN, // in-order
ORDER_POST, // post-order TREE_DFS_POST, // post-order
ORDER_BREADTH, // breadth-first search [BFS] TREE_BFS, // breadth-first search [BFS]
ORDER_PRE_R, // right-first pre-order TREE_DFS_PRE_R, // right-first pre-order
ORDER_IN_R, // right-first in-order TREE_DFS_IN_R, // right-first in-order
ORDER_POST_R, // right-first post-order TREE_DFS_POST_R, // right-first post-order
ORDER_BREADTH_R,// right-first breadth-first search [BFS] TREE_BFS_R, // right-first breadth-first search [BFS]
}; };
struct _tree_node struct _tree_node
@ -45,7 +44,7 @@ struct _tree_node
union union
{ {
int32_t balance; int32_t balance;
uint32_t color; rbt_color color;
}; };
}; };

View File

@ -58,7 +58,7 @@ static void map_node_free(struct _map_node** node)
bool map_clear(struct _map* self) bool map_clear(struct _map* self)
{ {
struct _map_node* node = NULL; struct _map_node* node = NULL;
iterator_t iter = self->_tree->iter(self->_tree, ORDER_IN); iterator_t iter = self->_tree->iter(self->_tree, TREE_DFS_IN);
while(iter->hasnext(&iter)) while(iter->hasnext(&iter))
{ {
// tree & map malloc memory independently, so free them one by one. // tree & map malloc memory independently, so free them one by one.

View File

@ -13,7 +13,6 @@
#include "stack.h" #include "stack.h"
// #define TREE_RECURSIVE_ENABLED // #define TREE_RECURSIVE_ENABLED
static struct _tree_node* tree_node_new(struct _tree* self, void* obj) static struct _tree_node* tree_node_new(struct _tree* self, void* obj)
{ {
assert(self != NULL); assert(self != NULL);
@ -1151,11 +1150,11 @@ static const void* tree_iter_next(struct _iterator* iter)
struct _tree_node* target_node = NULL; struct _tree_node* target_node = NULL;
switch (iter->_order) switch (iter->_order)
{ {
case ORDER_PRE: case TREE_DFS_PRE:
case ORDER_PRE_R: case TREE_DFS_PRE_R:
{ {
struct _tree_node* node = NULL; struct _tree_node* node = NULL;
if (iter->_order == ORDER_PRE) if (iter->_order == TREE_DFS_PRE)
{ {
while (!self->stack->empty(self->stack) || cur_node != NULL) while (!self->stack->empty(self->stack) || cur_node != NULL)
{ {
@ -1194,10 +1193,10 @@ static const void* tree_iter_next(struct _iterator* iter)
} }
} }
}break; }break;
case ORDER_IN: case TREE_DFS_IN:
case ORDER_IN_R: case TREE_DFS_IN_R:
{ {
if (iter->_order == ORDER_IN) if (iter->_order == TREE_DFS_IN)
{ {
while (!self->stack->empty(self->stack) || cur_node != NULL) while (!self->stack->empty(self->stack) || cur_node != NULL)
{ {
@ -1236,8 +1235,8 @@ static const void* tree_iter_next(struct _iterator* iter)
} }
} }
}break; }break;
case ORDER_POST: case TREE_DFS_POST:
case ORDER_POST_R: case TREE_DFS_POST_R:
{ {
if (!self->stack->empty(self->stack)) if (!self->stack->empty(self->stack))
{ {
@ -1245,8 +1244,8 @@ static const void* tree_iter_next(struct _iterator* iter)
target_node = cur_node; target_node = cur_node;
} }
}break; }break;
case ORDER_BREADTH: case TREE_BFS:
case ORDER_BREADTH_R: case TREE_BFS_R:
{ {
queue_t queue = self->queue; queue_t queue = self->queue;
if (!queue->empty(queue) && cur_node != NULL) if (!queue->empty(queue) && cur_node != NULL)
@ -1254,7 +1253,7 @@ static const void* tree_iter_next(struct _iterator* iter)
queue->pop(queue, &cur_node); queue->pop(queue, &cur_node);
target_node = cur_node; target_node = cur_node;
if (iter->_order == ORDER_BREADTH) if (iter->_order == TREE_BFS)
{ {
if (cur_node->left != NULL) if (cur_node->left != NULL)
{ {
@ -1307,24 +1306,24 @@ static iterator_t tree_iter(struct _tree* self, enum _tree_order order)
switch (iter->_order) switch (iter->_order)
{ {
case ORDER_PRE: case TREE_DFS_PRE:
case ORDER_PRE_R: case TREE_DFS_PRE_R:
{ {
// pass // pass
}break; }break;
case ORDER_IN: case TREE_DFS_IN:
case ORDER_IN_R: case TREE_DFS_IN_R:
{ {
// pass // pass
}break; }break;
case ORDER_POST: case TREE_DFS_POST:
case ORDER_POST_R: case TREE_DFS_POST_R:
{ {
struct _tree_node* node = self->_root; struct _tree_node* node = self->_root;
self->stack->clear(self->stack); self->stack->clear(self->stack);
stack_t stack = stack_new(sizeof(struct _tree_node*)); stack_t stack = stack_new(sizeof(struct _tree_node*));
if (iter->_order == ORDER_POST) if (iter->_order == TREE_DFS_POST)
{ {
while (!stack->empty(stack) || node != NULL) while (!stack->empty(stack) || node != NULL)
{ {
@ -1362,8 +1361,8 @@ static iterator_t tree_iter(struct _tree* self, enum _tree_order order)
} }
stack_free(&stack); stack_free(&stack);
}break; }break;
case ORDER_BREADTH: case TREE_BFS:
case ORDER_BREADTH_R: case TREE_BFS_R:
{ {
// pass // pass
self->queue->push(self->queue, &self->_root); self->queue->push(self->queue, &self->_root);

View File

@ -68,8 +68,8 @@ static const int expected_int_array_orderpre_delete[15][15] = {
}; };
static const enum _tree_order order[8] = { static const enum _tree_order order[8] = {
ORDER_PRE, ORDER_IN, ORDER_POST, ORDER_BREADTH, TREE_DFS_PRE, TREE_DFS_IN, TREE_DFS_POST, TREE_BFS,
ORDER_PRE_R, ORDER_IN_R, ORDER_POST_R, ORDER_BREADTH_R TREE_DFS_PRE_R, TREE_DFS_IN_R, TREE_DFS_POST_R, TREE_BFS_R
}; };
static uint32_t iter2array_num(iterator_t iter, int *data) static uint32_t iter2array_num(iterator_t iter, int *data)
@ -104,7 +104,7 @@ static void test_avltree_iter(void)
temp = data[i]; temp = data[i];
TEST_ASSERT_TRUE(tree->insert(tree, &temp)); TEST_ASSERT_TRUE(tree->insert(tree, &temp));
iter = tree->iter(tree, ORDER_PRE); iter = tree->iter(tree, TREE_DFS_PRE);
count = iter2array_num(iter, buff); count = iter2array_num(iter, buff);
TEST_ASSERT_EQUAL_INT_ARRAY(expected_int_array_orderpre_insert[i], buff, count); TEST_ASSERT_EQUAL_INT_ARRAY(expected_int_array_orderpre_insert[i], buff, count);
} }
@ -145,7 +145,7 @@ static void test_avltree_insert(void)
temp = data[i]; temp = data[i];
TEST_ASSERT_TRUE(tree->insert(tree, &temp)); TEST_ASSERT_TRUE(tree->insert(tree, &temp));
iter = tree->iter(tree, ORDER_PRE); iter = tree->iter(tree, TREE_DFS_PRE);
count = iter2array_num(iter, buff); count = iter2array_num(iter, buff);
TEST_ASSERT_EQUAL_INT_ARRAY(expected_int_array_orderpre_insert[i], buff, count); TEST_ASSERT_EQUAL_INT_ARRAY(expected_int_array_orderpre_insert[i], buff, count);
} }
@ -185,7 +185,7 @@ static void test_avltree_delete(void)
for (i = 0; i < len; i++) for (i = 0; i < len; i++)
{ {
iter = tree->iter(tree, ORDER_PRE); iter = tree->iter(tree, TREE_DFS_PRE);
count = iter2array_num(iter, buff); count = iter2array_num(iter, buff);
TEST_ASSERT_EQUAL_INT_ARRAY(expected_int_array_orderpre_delete[i], buff, count); TEST_ASSERT_EQUAL_INT_ARRAY(expected_int_array_orderpre_delete[i], buff, count);
@ -270,7 +270,7 @@ static void test_rbtree_iter(void)
temp = data[i]; temp = data[i];
TEST_ASSERT_TRUE(tree->insert(tree, &temp)); TEST_ASSERT_TRUE(tree->insert(tree, &temp));
iter = tree->iter(tree, ORDER_PRE); iter = tree->iter(tree, TREE_DFS_PRE);
count = iter2array_num(iter, buff); count = iter2array_num(iter, buff);
TEST_ASSERT_EQUAL_INT_ARRAY(rbt_expected_int_array_orderpre_insert[i], buff, count); TEST_ASSERT_EQUAL_INT_ARRAY(rbt_expected_int_array_orderpre_insert[i], buff, count);
} }
@ -310,7 +310,7 @@ static void test_rbtree_insert(void)
temp = data[i]; temp = data[i];
TEST_ASSERT_TRUE(tree->insert(tree, &temp)); TEST_ASSERT_TRUE(tree->insert(tree, &temp));
iter = tree->iter(tree, ORDER_PRE); iter = tree->iter(tree, TREE_DFS_PRE);
count = iter2array_num(iter, buff); count = iter2array_num(iter, buff);
TEST_ASSERT_EQUAL_INT_ARRAY(rbt_expected_int_array_orderpre_insert[i], buff, count); TEST_ASSERT_EQUAL_INT_ARRAY(rbt_expected_int_array_orderpre_insert[i], buff, count);
} }
@ -349,7 +349,7 @@ static void test_rbtree_delete(void)
for (i = 0; i < len; i++) for (i = 0; i < len; i++)
{ {
iter = tree->iter(tree, ORDER_PRE); iter = tree->iter(tree, TREE_DFS_PRE);
count = iter2array_num(iter, buff); count = iter2array_num(iter, buff);
TEST_ASSERT_EQUAL_INT_ARRAY(rbt_expected_int_array_orderpre_delete[i], buff, count); TEST_ASSERT_EQUAL_INT_ARRAY(rbt_expected_int_array_orderpre_delete[i], buff, count);