2
2
#include "avl_impl.h"
3
3
#include <string.h>
4
4
5
- DataQueryKeyAvlNode * avl_insert (DataQueryKeyAvlNode * tree_root , DataQueryKey elem , DataQueryKeyAvlNode * allocMem ,
6
- int (* comp )(const void * , const void * )
7
- ) {
8
- DataQueryKeyAvlNode fakeNode ;
9
- memset (& fakeNode , 0 , sizeof (DataQueryKeyAvlNode ));
10
- fakeNode .value = elem ;
11
- return avl_insert_impl (tree_root , & fakeNode , allocMem , sizeof (DataQueryKeyAvlNode ), comp , offsetof(DataQueryKeyAvlNode , left ),
12
- offsetof(DataQueryKeyAvlNode , right ), offsetof(DataQueryKeyAvlNode , ht ));
13
- }
5
+ DataQueryKeyAvlNode * avl_insert (DataQueryKeyAvlNode * tree_root ,
6
+ DataQueryKey elem ,
7
+ DataQueryKeyAvlNode * allocMem ,
8
+ int (* comp )(const void * , const void * )) {
9
+ DataQueryKeyAvlNode fakeNode ;
10
+ memset (& fakeNode , 0 , sizeof (DataQueryKeyAvlNode ));
11
+ fakeNode .value = elem ;
12
+ return avl_insert_impl (
13
+ tree_root , & fakeNode , allocMem , sizeof (DataQueryKeyAvlNode ), comp ,
14
+ offsetof(DataQueryKeyAvlNode , left ), offsetof(DataQueryKeyAvlNode , right ),
15
+ offsetof(DataQueryKeyAvlNode , ht ));
16
+ }
14
17
18
+ DataQueryKeyAvlNode * avl_delete_value (DataQueryKeyAvlNode * tree_root ,
19
+ DataQueryKey valueElem ,
20
+ int (* comp )(const void * , const void * )) {
21
+ DataQueryKeyAvlNode fakeNode ;
22
+ memset (& fakeNode , 0 , sizeof (DataQueryKeyAvlNode ));
23
+ fakeNode .value = valueElem ;
24
+ return avl_erase_by_value_impl (
25
+ tree_root , & fakeNode , sizeof (DataQueryKeyAvlNode ), comp ,
26
+ offsetof(DataQueryKeyAvlNode , left ), offsetof(DataQueryKeyAvlNode , right ),
27
+ offsetof(DataQueryKeyAvlNode , ht ));
28
+ }
15
29
16
- DataQueryKeyAvlNode * avl_delete_value (DataQueryKeyAvlNode * tree_root , DataQueryKey valueElem ,
17
- int (* comp )( const void * , const void * )) {
18
- DataQueryKeyAvlNode fakeNode ;
19
- memset (& fakeNode , 0 , sizeof (DataQueryKeyAvlNode ));
20
- fakeNode .value = valueElem ;
21
- return avl_erase_by_value_impl (tree_root , & fakeNode , sizeof (DataQueryKeyAvlNode ), comp , offsetof(DataQueryKeyAvlNode , left ),
22
- offsetof(DataQueryKeyAvlNode , right ), offsetof(DataQueryKeyAvlNode , ht ));
23
- }
30
+ DataQueryKeyAvlNode * avl_find (DataQueryKeyAvlNode * tree_root ,
31
+ DataQueryKey valueElem ,
32
+ int (* comp )(const void * , const void * )) {
33
+ DataQueryKeyAvlNode fakeNode ;
34
+ memset (& fakeNode , 0 , sizeof (DataQueryKeyAvlNode ));
35
+ fakeNode .value = valueElem ;
36
+ return avl_find_impl (tree_root , comp , & fakeNode ,
37
+ offsetof(DataQueryKeyAvlNode , left ),
38
+ offsetof(DataQueryKeyAvlNode , right ));
39
+ }
24
40
25
- DataQueryKeyAvlNode * avl_find (DataQueryKeyAvlNode * tree_root , DataQueryKey valueElem ,
26
- int (* comp )( const void * , const void * )){
27
- DataQueryKeyAvlNode fakeNode ;
28
- memset (& fakeNode , 0 , sizeof (DataQueryKeyAvlNode ));
29
- fakeNode .value = valueElem ;
30
- return avl_find_impl (tree_root ,comp , & fakeNode , offsetof(DataQueryKeyAvlNode , left ),
31
- offsetof(DataQueryKeyAvlNode , right ));
32
- }
41
+ DataQueryKeyAvlNode2 * avl_insert2 (DataQueryKeyAvlNode2 * tree_root ,
42
+ DataQueryKey elem ,
43
+ DataQueryKeyAvlNode2 * allocMem ,
44
+ int (* comp )(const void * , const void * )) {
45
+ DataQueryKeyAvlNode2 fakeNode ;
46
+ memset (& fakeNode , 0 , sizeof (DataQueryKeyAvlNode2 ));
47
+ fakeNode .value = elem ;
48
+ return avl_insert_impl (tree_root , & fakeNode , allocMem ,
49
+ sizeof (DataQueryKeyAvlNode2 ), comp ,
50
+ offsetof(DataQueryKeyAvlNode2 , left ),
51
+ offsetof(DataQueryKeyAvlNode2 , right ),
52
+ offsetof(DataQueryKeyAvlNode2 , ht ));
53
+ }
33
54
55
+ DataQueryKeyAvlNode2 *
56
+ avl_delete_value2 (DataQueryKeyAvlNode2 * tree_root , DataQueryKey elem ,
57
+ int (* comp )(const void * , const void * )) {
58
+ DataQueryKeyAvlNode2 fakeNode ;
59
+ memset (& fakeNode , 0 , sizeof (DataQueryKeyAvlNode2 ));
60
+ fakeNode .value = elem ;
61
+ return avl_erase_by_value_impl (tree_root , & fakeNode ,
62
+ sizeof (DataQueryKeyAvlNode2 ), comp ,
63
+ offsetof(DataQueryKeyAvlNode2 , left ),
64
+ offsetof(DataQueryKeyAvlNode2 , right ),
65
+ offsetof(DataQueryKeyAvlNode2 , ht ));
66
+ }
34
67
35
-
36
-
37
-
38
- DataQueryKeyAvlNode2 * avl_insert2 (DataQueryKeyAvlNode2 * tree_root , DataQueryKey elem , DataQueryKeyAvlNode2 * allocMem ,
39
- int (* comp )(const void * , const void * )
40
- ) {
41
- DataQueryKeyAvlNode2 fakeNode ;
42
- memset (& fakeNode , 0 , sizeof (DataQueryKeyAvlNode2 ));
43
- fakeNode .value = elem ;
44
- return avl_insert_impl (tree_root , & fakeNode , allocMem , sizeof (DataQueryKeyAvlNode2 ), comp ,
45
- offsetof(DataQueryKeyAvlNode2 , left ),
46
- offsetof(DataQueryKeyAvlNode2 , right ), offsetof(DataQueryKeyAvlNode2 , ht ));
47
- }
48
-
49
-
50
- DataQueryKeyAvlNode2 * avl_delete_value2 (DataQueryKeyAvlNode2 * tree_root , DataQueryKey elem ,
51
- int (* comp )( const void * , const void * )) {
52
- DataQueryKeyAvlNode2 fakeNode ;
53
- memset (& fakeNode , 0 , sizeof (DataQueryKeyAvlNode2 ));
54
- fakeNode .value = elem ;
55
- return avl_erase_by_value_impl (tree_root , & fakeNode , sizeof (DataQueryKeyAvlNode2 ), comp ,
56
- offsetof(DataQueryKeyAvlNode2 , left ),
57
- offsetof(DataQueryKeyAvlNode2 , right ), offsetof(DataQueryKeyAvlNode2 , ht ));
58
- }
59
-
60
- DataQueryKeyAvlNode2 * avl_find2 (DataQueryKeyAvlNode2 * tree_root , DataQueryKey elem ,
61
- int (* comp )( const void * , const void * )){
62
- DataQueryKeyAvlNode2 fakeNode ;
63
- memset (& fakeNode , 0 , sizeof (DataQueryKeyAvlNode2 ));
64
- fakeNode .value = elem ;
65
- return avl_find_impl (tree_root ,comp , & fakeNode , offsetof(DataQueryKeyAvlNode2 , left ),
66
- offsetof(DataQueryKeyAvlNode2 , right ));
67
- }
68
+ DataQueryKeyAvlNode2 * avl_find2 (DataQueryKeyAvlNode2 * tree_root ,
69
+ DataQueryKey elem ,
70
+ int (* comp )(const void * , const void * )) {
71
+ DataQueryKeyAvlNode2 fakeNode ;
72
+ memset (& fakeNode , 0 , sizeof (DataQueryKeyAvlNode2 ));
73
+ fakeNode .value = elem ;
74
+ return avl_find_impl (tree_root , comp , & fakeNode ,
75
+ offsetof(DataQueryKeyAvlNode2 , left ),
76
+ offsetof(DataQueryKeyAvlNode2 , right ));
77
+ }
0 commit comments