#include
#include
#include
#include "btree.h"
#include "stack.h"
/*
* To create a tree from array list
*/
BTree *btree_new(char *str)
{
Stack *token_st;
Stack *node_st;
int value;
char *p;
char *token_top;
struct btree_node *current_node;
struct btree_node *candidate_node;
struct btree_node *new_node;
BTree *root;
assert(str != NULL);
/* Create two new stacks */
token_st = stack_new();
node_st = stack_new();
p = str;
if (*p > '9' || *p < '0')
return NULL;
/*
* We first get the root node
*/
value = 0;
while (*p <= '9' && *p >= '0') {
value = value * 10 + *p