Tree* tree_copy(Tree* tree)
{
Tree* treeCopy = _tree_new(tree->dataSize);
- if (tree->root == NULL)
+ if (tree->root == NULL)
return treeCopy;
_tree_set_root(treeCopy, tree->root->data);
return treeCopy;
}
-Bool tree_empty(Tree* tree)
+bool tree_empty(Tree* tree)
{
return (tree->root == NULL);
}
UInt _tree_height_rekursiv(TreeNode* treeNode)
{
- if (tree_is_leaf(treeNode))
+ if (tree_is_leaf(treeNode))
return 1;
TreeNode* child = treeNode->firstChild;
UInt maxHeightChild = 0;
while (child != NULL)
{
UInt heightChild = _tree_height_rekursiv(child);
- if (heightChild > maxHeightChild)
+ if (heightChild > maxHeightChild)
maxHeightChild = heightChild;
child = child->next;
}
UInt tree_height(Tree* tree)
{
- if (tree_empty(tree))
+ if (tree_empty(tree))
return 0;
return _tree_height_rekursiv(tree->root);
}
-Bool tree_is_leaf(TreeNode* treeNode)
+bool tree_is_leaf(TreeNode* treeNode)
{
return (treeNode->firstChild == NULL);
}
newChildNode->data = safe_malloc(tree->dataSize);
memcpy(newChildNode->data, data, tree->dataSize);
newChildNode->next = NULL;
- if (treeNode->lastChild != NULL)
+ if (treeNode->lastChild != NULL)
treeNode->lastChild->next = newChildNode;
newChildNode->prev = treeNode->lastChild;
treeNode->lastChild = newChildNode;
- if (treeNode->firstChild == NULL)
+ if (treeNode->firstChild == NULL)
treeNode->firstChild = newChildNode;
newChildNode->parent = treeNode;
newChildNode->firstChild = NULL;
newSiblingNode->data = safe_malloc(tree->dataSize);
memcpy(newSiblingNode->data, data, tree->dataSize);
newSiblingNode->next = treeNode->next;
- if (treeNode->next != NULL)
+ if (treeNode->next != NULL)
treeNode->next->prev = newSiblingNode;
newSiblingNode->prev = treeNode;
treeNode->next = newSiblingNode;
{
if (treeNode->parent != NULL)
{
- if (treeNode->prev == NULL)
+ if (treeNode->prev == NULL)
treeNode->parent->firstChild = treeNode->next;
- if (treeNode->next == NULL)
+ if (treeNode->next == NULL)
treeNode->parent->lastChild = treeNode->prev;
}
- if (treeNode->next != NULL)
+ if (treeNode->next != NULL)
treeNode->next->prev = treeNode->prev;
- if (treeNode->prev != NULL)
+ if (treeNode->prev != NULL)
treeNode->prev->next = treeNode->next;
_tree_remove_rekursiv(tree, treeNode);
}
void tree_clear(Tree* tree)
{
- if (tree->root != NULL)
+ if (tree->root != NULL)
_tree_remove_rekursiv(tree, tree->root);
_tree_init(tree, tree->dataSize);
}
void tree_destroy(Tree* tree)
{
- if (tree->root != NULL)
+ if (tree->root != NULL)
tree_clear(tree);
safe_free(tree);
}
treeI->current = treeI->tree->root;
}
-Bool treeI_has_data(TreeIterator* treeI)
+bool treeI_has_data(TreeIterator* treeI)
{
return (treeI->current != NULL);
}