Exemplo n.º 1
0
 void print_subtree(FILE* file, int pos, int indent) const {
     const PropertyDecisionNode &n = (*this)[pos];
     for (int i=0; i<2*indent; i++) fputc(' ', file);
     if (n.property == -1)
         fprintf(file, "* leaf id=%i\n", n.leafID);
     else {
         fprintf(file, "* split on prop %i at val %i after %lli steps\n", n.property, n.splitval, (long long int)n.count);
         print_subtree(file, n.childID, indent+1);
         print_subtree(file, n.childID+1, indent+1);
     }
 }
Exemplo n.º 2
0
static void print_subtree(const Node *const pt_to_node, const int height, const int level) {
    if (level > height)
        return;
    if (!pt_to_node) {
        print_subtree(NULL, height, level + 1);
        putchar('\n');
        print_subtree(NULL, height, level + 1);
        return;
    }
    print_subtree(pt_to_node->pt_to_right_node, height, level + 1);        
    for (int i = 0; i < level * 4; ++i)
        putchar(' ');
    print_value(pt_to_node->value), putchar('\n');
    print_subtree(pt_to_node->pt_to_left_node, height, level + 1);
}
Exemplo n.º 3
0
void print_binary_tree(const Node *const pt_to_node) {
    if (!pt_to_node) {
        putchar('\n');
        return;
    }
    const int height = tree_height(pt_to_node);
    if (height == 0)
        print_value(pt_to_node->value), putchar('\n');
    else
        print_subtree(pt_to_node, height, 0);
}
Exemplo n.º 4
0
int
binode_cache_find (uint64_t key, bt_key_val *temp_binode)
{
  clock_t start, end;
  int ret = 0;
  bt_key_val kv;
  LINKED *temp;

#ifdef DEBUG_FUXEXMP
  fprintf(stderr, "binode_cache_find: key = %llx\n", key);
#ifdef DEBUG
  print_subtree(block_inode_tree, block_inode_tree->root);
#endif
#endif
  kv = btree_search(block_inode_tree,key);

  if (kv.val != 0)
  {
    *temp_binode = kv;
    ret = SUCCESS;
    temp=kv.pt;

    if(temp!=binode_list)
    {
      temp->prev->next=temp->next;
      temp->next->prev=temp->prev;
      temp->prev=binode_list->prev;
      temp->next=binode_list;
      binode_list->prev=temp;
      binode_list=temp;
    }
  }

  else
  {
    ret = FAILURE;
  }

  return ret;
}
Exemplo n.º 5
0
 void print(FILE *file) const {
     print_subtree(file, 0, 0);
 }