void ObstacleKDTree::deleteSubTree( ObstacleTreeNode * node ) { if ( node != 0x0 ) { deleteSubTree( node->_left ); deleteSubTree( node->_right ); delete node; } }
void BinarySearchTree<Key, Value>::deleteSubTree (typename BinarySearchTree<Key, Value>::BSTnode* subtree) { if (subtree!=NULL) { deleteSubTree(subtree->m_left); deleteSubTree(subtree->m_right); DeleteNode(subtree); } }
void Foam::binaryTree<CompType, ThermoType>::deleteSubTree(bn* subTreeRoot) { if (subTreeRoot != nullptr) { deleteDemandDrivenData(subTreeRoot->leafLeft()); deleteDemandDrivenData(subTreeRoot->leafRight()); deleteSubTree(subTreeRoot->nodeLeft()); deleteSubTree(subTreeRoot->nodeRight()); deleteDemandDrivenData(subTreeRoot); } }
void deleteSubTree(TreeNode* &node) { if (node == NULL) { return; } else { deleteSubTree(node->left); deleteSubTree(node->right); delete node; } }
EnhancedTagAttributeTree::EnhancedTagAttributeTree(QWidget *parent, const char *name) : QWidget(parent, name) { widgetLayout = new QGridLayout( this, 1, 1, 11, 6, "MainLayout"); attrTree = new TagAttributeTree(this, "TagAttributeTree"); attrTree->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::MinimumExpanding); widgetLayout->addMultiCellWidget( attrTree, 1, 1, 0, 3 ); nodeName = new QLabel(this, i18n( "Node Name" )); nodeName->setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::Fixed, 0, 0, nodeName->sizePolicy().hasHeightForWidth() ) ); widgetLayout->addWidget( nodeName, 0, 0 ); deleteTag = new KPushButton(this, i18n( "Delete Tag" )); deleteTag->setPixmap(SmallIcon("editdelete")); deleteTag->setMaximumHeight(32); deleteTag->setMaximumWidth(32); QToolTip::add(deleteTag, i18n("Delete the current tag only.")); deleteAll = new KPushButton(this, i18n( "Delete All" )); deleteAll->setPixmap(SmallIcon("editdelete")); deleteAll->setMaximumHeight(32); deleteAll->setMaximumWidth(32); QToolTip::add(deleteAll, i18n("Delete the current tag and all its children.")); widgetLayout->addWidget( deleteTag, 0, 2 ); widgetLayout->addWidget( deleteAll, 0, 3 ); clearWState( WState_Polished ); connect(attrTree, SIGNAL(newNodeSelected(Node *)), this, SLOT(NodeSelected(Node *))); connect(deleteTag, SIGNAL(clicked()), this, SLOT(deleteNode())); connect(deleteAll, SIGNAL(clicked()), this, SLOT(deleteSubTree())); }
BinarySearchTree<Key, Value>& BinarySearchTree<Key, Value>::operator= (const BinarySearchTree<Key, Value>& other) { if (this!=&other) { deleteSubTree(m_root->m_left); m_root->m_left=copySubTree(other.m_root->m_left); } return *this; }
void BinarySearchTree<Key, Value>::DeleteSubTree (typename BinarySearchTree<Key, Value>::Node& subTree) { BSTnode* subtree=subTree.getSelf(); if (subtree->m_parent!=NULL) { if (subtree->m_parent->m_left==subtree) { subtree->m_parent->m_left=NULL; } else { subtree->m_parent->m_right=NULL; } } deleteSubTree(subtree); subTree=Node(NULL); }
void ObstacleKDTree::deleteTree() { deleteSubTree( _tree ); _tree = 0x0; }
void deleteTree(Tree* &tree) { deleteSubTree(tree->root); delete tree; }
BinarySearchTree<Key, Value>::~BinarySearchTree () { deleteSubTree(m_root); }