#include <stdio.h>
#include "rbtree.h"
#include "container_of.h"
typedef struct {
char c;
} con_type;
#define arr_count(arr) sizeof(arr) / sizeof(*arr)
static void inorder_traverse_and_putchar(
struct rbtree_node *n)
{
if (n == NULL) {
return;
}
const char c = container_of(n, con_type, node)->c;
inorder_traverse_and_putchar(n->
left_ptr);
putchar(c);
}
static void deallocate(void *ptr)
{
(void)(ptr);
}
void hello_world(void)
{
struct {
char c;
} pairs[] = {
{-1, '$'}, {4, 'o'}, {11, '!'}, {2, 'l'}, {0, 'h'}, {6, 'w'}, {12, '\n'}, {5, ' '},
{7, 'o'}, {10, 'd'}, {9, 'l'}, {1, 'e'}, {3, 'l'}, {8, 'r'}, {13, '\0'},
};
con_type cons[arr_count(pairs)];
for (size_t i = 0; i < arr_count(pairs); i++) {
cons[i].c = pairs[i].c;
}
else {
assert(false);
}
}
if (node_ptr) {
}
else {
assert(false);
}
(void)(inorder_traverse_and_putchar);
}
int main(void)
{
hello_world();
}
rbtree_node_type * rbtree_search_node(rbtree_node_type **rootptr_ptr, const KEY_TYPE key)
Search for a given node and return a pointer to the node.
Definition rbtree_template.h:415
bool rbtree_is_empty(rbtree_node_type **rootptr_ptr)
Check if the tree is empty.
Definition rbtree_template.h:384
rbtree_node_type * rbtree_delete_node(rbtree_node_type **rootptr_ptr, rbtree_node_type *node_ptr)
Delete a given node from the tree.
Definition rbtree_template.h:478
bool rbtree_contains_key(rbtree_node_type **rootptr_ptr, const KEY_TYPE key)
Check if the tree contains a given key.
Definition rbtree_template.h:391
void rbtree_node_init(rbtree_node_type *node_ptr, KEY_TYPE key)
Initialize a red-black tree node.
Definition rbtree_template.h:354
void rbtree_init(rbtree_node_type **rootptr_ptr)
Initialize a red-black tree struct.
Definition rbtree_template.h:347
void rbtree_insert_node(rbtree_node_type **rootptr_ptr, rbtree_node_type *node_ptr)
Insert a given node with a key in the tree.
Definition rbtree_template.h:438
Generated red-black tree node struct type for a given KEY_TYPE.
Definition rbtree_template.h:175
rbtree_node_type * left_ptr
pointer to left node
Definition rbtree_template.h:183
KEY_TYPE key
node key
Definition rbtree_template.h:189
rbtree_node_type * right_ptr
pointer to right node
Definition rbtree_template.h:184