PandA-2024.02
|
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
Go to the source code of this file.
Data Structures | |
struct | stack |
struct | bin_tree |
Macros | |
#define | MAX_NUMBER_OF_NODES 255 |
Typedefs | |
typedef struct stack | node_stack |
typedef struct bin_tree | node_tree |
Functions | |
void | push_stack_free_list (node_stack **head, node_stack *new_node) |
node_stack * | pop_stack_free_list (node_stack **head) |
void | init_stack_free_list () |
void | push (node_stack **head, void *t) |
_Bool | isEmpty (node_stack *head) |
void * | pop (node_stack **head) |
void * | top (node_stack *head) |
void | push_tree_free_list (node_tree **head, node_tree *new_node) |
node_tree * | pop_tree_free_list (node_tree **head) |
void | init_tree_free_list () |
void | insert (node_tree **tree, int val) |
void | print_preorder (node_tree *root) |
void | print_inorder (node_tree *root) |
void | print_postorder (node_tree *root) |
void | deltree (node_tree *root) |
node_tree * | __attribute__ ((noinline)) |
int | main () |
Variables | |
static node_stack | StaticPoolStack [MAX_NUMBER_OF_NODES] |
static node_stack * | head_stack_free_list |
static node_tree | StaticPoolTree [MAX_NUMBER_OF_NODES] |
static node_tree * | head_tree_free_list |
#define MAX_NUMBER_OF_NODES 255 |
Definition at line 5 of file module.c.
Referenced by init_stack_free_list(), and init_tree_free_list().
typedef struct stack node_stack |
node_tree* __attribute__ | ( | (noinline) | ) |
Definition at line 256 of file module.c.
References bin_tree::data, bin_tree::left, NULL, and bin_tree::right.
void deltree | ( | node_tree * | root | ) |
Definition at line 223 of file module.c.
References isEmpty(), bin_tree::left, NULL, pop(), push(), push_tree_free_list(), bin_tree::right, and top().
Referenced by main().
void init_stack_free_list | ( | ) |
Definition at line 40 of file module.c.
References index, MAX_NUMBER_OF_NODES, and push_stack_free_list().
Referenced by main().
void init_tree_free_list | ( | ) |
Definition at line 111 of file module.c.
References index, MAX_NUMBER_OF_NODES, and push_tree_free_list().
Referenced by main().
void insert | ( | node_tree ** | tree, |
int | val | ||
) |
Definition at line 119 of file module.c.
References bin_tree::data, bin_tree::left, NULL, pop_tree_free_list(), and bin_tree::right.
Referenced by insert(), and main().
_Bool isEmpty | ( | node_stack * | head | ) |
Definition at line 56 of file module.c.
References NULL.
Referenced by deltree(), pop(), print_inorder(), print_postorder(), and print_preorder().
int main | ( | void | ) |
Definition at line 267 of file module.c.
References bin_tree::data, deltree(), init_stack_free_list(), init_tree_free_list(), insert(), NULL, print_inorder(), print_postorder(), and print_preorder().
void* pop | ( | node_stack ** | head | ) |
Definition at line 60 of file module.c.
References stack::data, isEmpty(), stack::next, push_stack_free_list(), and top().
Referenced by deltree(), print_inorder(), print_postorder(), and print_preorder().
node_stack* pop_stack_free_list | ( | node_stack ** | head | ) |
Definition at line 26 of file module.c.
References stack::next, and NULL.
Referenced by push().
Definition at line 97 of file module.c.
References bin_tree::left, and NULL.
Referenced by insert().
void print_inorder | ( | node_tree * | root | ) |
Definition at line 163 of file module.c.
References bin_tree::data, isEmpty(), bin_tree::left, NULL, pop(), push(), and bin_tree::right.
Referenced by main().
void print_postorder | ( | node_tree * | root | ) |
Definition at line 190 of file module.c.
References bin_tree::data, isEmpty(), bin_tree::left, NULL, pop(), push(), bin_tree::right, and top().
Referenced by main().
void print_preorder | ( | node_tree * | root | ) |
Definition at line 141 of file module.c.
References bin_tree::data, isEmpty(), bin_tree::left, NULL, pop(), push(), and bin_tree::right.
Referenced by main().
void push | ( | node_stack ** | head, |
void * | t | ||
) |
Definition at line 48 of file module.c.
References stack::data, stack::next, and pop_stack_free_list().
Referenced by deltree(), print_inorder(), print_postorder(), and print_preorder().
void push_stack_free_list | ( | node_stack ** | head, |
node_stack * | new_node | ||
) |
Definition at line 20 of file module.c.
References stack::data, and stack::next.
Referenced by init_stack_free_list(), and pop().
Definition at line 90 of file module.c.
References bin_tree::data, bin_tree::left, and bin_tree::right.
Referenced by deltree(), and init_tree_free_list().
void* top | ( | node_stack * | head | ) |
Definition at line 73 of file module.c.
References stack::data, bin_tree::left, and bin_tree::right.
Referenced by deltree(), pop(), and print_postorder().
|
static |
|
static |
|
static |