コード例 #1
0
asciinode * build_ascii_tree_recursive(Tree * t) 
{
  asciinode * node;

  if (t == NULL) return NULL;

  node = malloc(sizeof(asciinode));
  node->left = build_ascii_tree_recursive(t->left);
  node->right = build_ascii_tree_recursive(t->right);

  if (node->left != NULL) 
  {
    node->left->parent_dir = -1;
  }

  if (node->right != NULL) 
  {
    node->right->parent_dir = 1;
  }

  sprintf(node->label, "%d", t->element);
  node->lablen = strlen(node->label);

  return node;
}
コード例 #2
0
//---------------------------------------------------------
AsciiNode* AsciiTree::build_ascii_tree_recursive(Node* node) 
{
	if(node==NULL) 
		return NULL;

	AsciiNode* ascii_node=new AsciiNode();
	ascii_node->left=build_ascii_tree_recursive(node->left);
	ascii_node->right=build_ascii_tree_recursive(node->right);
	if(ascii_node->left!=NULL) 
		ascii_node->left->parent_dir=-1;
	if(ascii_node->right!=NULL) 
		ascii_node->right->parent_dir=1;
	sprintf(ascii_node->label, "%d", node->data);
	ascii_node->lablen=strlen(ascii_node->label);

	return ascii_node;
}
コード例 #3
0
//Copy the tree into the ascii node structre
asciinode * build_ascii_tree(Tree * t) 
{
  asciinode *node;
  if (t == NULL) return NULL;
  node = build_ascii_tree_recursive(t);
  node->parent_dir = 0;
  return node;
}
コード例 #4
0
//---------------------------------------------------------
//Copy the tree into the ascii node structre
AsciiNode* AsciiTree::build_ascii_tree(Node* node) 
{
	if(node==NULL)
		return NULL;

	AsciiNode* ascii_node;
	ascii_node=build_ascii_tree_recursive(node);
	ascii_node->parent_dir=0;

	return ascii_node;
}