From d278ef008fd45411e75c6a8182fbabd0d7ec68a2 Mon Sep 17 00:00:00 2001 From: wjf-hs Date: Sun, 27 Apr 2025 11:41:20 +0800 Subject: [PATCH] =?UTF-8?q?tree=5Forder=E6=9E=9A=E4=B8=BE=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E9=87=8D=E5=91=BD=E5=90=8D=EF=BC=8C=E9=98=B2=E5=86=B2?= =?UTF-8?q?=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/tree.h | 36 ++++++++++++------------------------ src/tree.c | 2 +- test/test_tree.c | 6 +----- 3 files changed, 14 insertions(+), 30 deletions(-) diff --git a/include/tree.h b/include/tree.h index 7a82667..444bd4f 100644 --- a/include/tree.h +++ b/include/tree.h @@ -22,29 +22,17 @@ typedef enum { RBT_BLACK, }rbt_color; -/** - * @brief dfs amd bfs traversal order - * - * pre-order traversal - * in-order traversal - * post-order traversal - * breadth-first search traversal [BFS] - * - * right-first pre-order traversal - * right-first in-order traversal - * right-first post-order traversal - * breadth-first search traversal [BFS] - */ -enum _order{ - ORDER_PRE, - ORDER_IN, - ORDER_POST, - ORDER_BREADTH, +// dfs and bfs traversal order +enum _tree_order{ + ORDER_PRE, // pre-order + ORDER_IN, // in-order + ORDER_POST, // post-order + ORDER_BREADTH, // breadth-first search [BFS] - ORDER_PRE_R, - ORDER_IN_R, - ORDER_POST_R, - ORDER_BREADTH_R, + ORDER_PRE_R, // right-first pre-order + ORDER_IN_R, // right-first in-order + ORDER_POST_R, // right-first post-order + ORDER_BREADTH_R,// right-first breadth-first search [BFS] }; struct _tree_node @@ -71,7 +59,7 @@ struct _tree uint32_t _capacity; uint32_t _ratio; - enum _order _order; + enum _tree_order _order; bool _right_priority; stack_t stack; @@ -94,7 +82,7 @@ struct _tree uint32_t (*size)(struct _tree* self); // iter - iterator_t (*iter)(struct _tree* self, enum _order); + iterator_t (*iter)(struct _tree* self, enum _tree_order); // others bool (*min)(struct _tree* self, void* obj); diff --git a/src/tree.c b/src/tree.c index 2f9c99b..8588c55 100644 --- a/src/tree.c +++ b/src/tree.c @@ -1151,7 +1151,7 @@ static bool tree_rb_delete(struct _tree* self, void* obj) return true; } -static iterator_t tree_iter(struct _tree* self, enum _order order) +static iterator_t tree_iter(struct _tree* self, enum _tree_order order) { assert(self != NULL); iterator_t iter = &self->_iter; diff --git a/test/test_tree.c b/test/test_tree.c index 25bebef..f64a0c4 100644 --- a/test/test_tree.c +++ b/test/test_tree.c @@ -67,7 +67,7 @@ static const int expected_int_array_orderpre_delete[15][15] = { { 13, }, }; -static const enum _order order[8] = { +static const enum _tree_order order[8] = { ORDER_PRE, ORDER_IN, ORDER_POST, ORDER_BREADTH, ORDER_PRE_R, ORDER_IN_R, ORDER_POST_R, ORDER_BREADTH_R }; @@ -335,10 +335,6 @@ static void test_rbtree_delete(void) int temp = 0; int count = 0; iterator_t iter = NULL; - enum _order order[8] = { - ORDER_PRE, ORDER_IN, ORDER_POST, ORDER_BREADTH, - ORDER_PRE_R, ORDER_IN_R, ORDER_POST_R, ORDER_BREADTH_R - }; tree_t tree = tree_rb_new(sizeof(int)); TEST_ASSERT_NOT_NULL(tree);