void delTree(TreeNode* root) { if(!root) return; delTree(root->left); delTree(root->right); delete root; root = NULL; }
/* ------------- test body -------------- */ TEST(largestBSTInBT_Test, Positive01){ Solution s; TreeNode *root = new TreeNode(15); root->left = new TreeNode(10); root->right = new TreeNode(20); root->left->left = new TreeNode(5); root->left->right = new TreeNode(7); root->left->right->left = new TreeNode(2); root->left->right->right = new TreeNode(5); root->left->right->left->left = new TreeNode(0); root->left->right->left->right = new TreeNode(6); root->left->right->right->left = new TreeNode(3); TreeNode* result = s.findLargestBST(root); TreeNode *expected = new TreeNode(7); expected->left = new TreeNode(2); expected->left->left = new TreeNode(0); expected->left->right = new TreeNode(6); assertBinaryTree(expected, result); delTree(root); delTree(expected); delTree(result); }
void delTree(NodeT *root) { if(root==NULL) return; delTree(root->left); delTree(root->right); free(root); }
void delTree(node *& tree) { if (tree != nullptr) { delTree(tree->left); delTree(tree->right); delete tree; tree = nullptr; } }
void delTree(Tree *tr) { if (tr != NULL) { delTree(tr->left); delTree(tr->right); delete(tr); } }
void Expression::delTree(ExprNodePtr tree) { if (tree == nullptr) { return; } delTree(tree->left); delTree(tree->right); delete tree; }
int main() { Tree *head = new Tree; head->value = -32999; head->left = NULL; head->right = NULL; head->prev = NULL; char c = 0; while (c != '0') { printf("\n 0 Exit\n 1 Add value to tree\n 2 Delete value from tree\n 3 Exist?\n 4 Print\n "); scanf("%c", &c); if (c == '\n') scanf("%c", &c); if (c == '1') addValue(head); if (c == '2') delValue(head); if (c == '3') existence(head); if (c == '4') printEl(head->left); } delTree(head->left); delete head; return 0; }
int main() { node *tree = new node{3, new node{2, new node {1, nullptr, nullptr}, nullptr}, new node{4, nullptr, nullptr}}; node *cp; std::cout << tree << std::endl; copy(cp, tree); std::cout << tree << std::endl; std::cout << cp << std::endl; delTree(tree); delTree(cp); std::cout << tree << std::endl; std::cout << cp << std::endl; return 0; }
int main() { root=createBinTree(); head=getLfromT(root); printf("tree=>list: \n"); printList(); delTree(root); root=NULL; root=getTfromL(&head); printf("list=>tree: \n"); prettyPrint(root,0); return 0; }
void delTree(TREENODE *root) { TREENODE *p, *temp; if (root != NULL) { p = root->firstChild; while (p != NULL) { temp = p->nextSibling; delTree(p); p = temp; } free(root); } }
TEST(inOrderIterateTest, Edge02){ TreeNode *root = new TreeNode(12); root->right = new TreeNode(3); vector<int> expected; inorderIterate(root, expected); Solution s; vector<int> result = s.inOrderIterate(root); assertList(expected, result); delTree(root); }
ENDcreateWrkrInstance BEGINisCompatibleWithFeature CODESTARTisCompatibleWithFeature ENDisCompatibleWithFeature static void delTree(union node* node, const int layer) { if(node == NULL){ return; } if(layer == 31){ free(node); } else { delTree(node->pointer.more, layer + 1); delTree(node->pointer.less, layer + 1); free(node); } }
TEST(postOrderIterateTest, Edge03){ TreeNode *root = new TreeNode(12); root->right = new TreeNode(3); root->right->left = new TreeNode(2); vector<int> expected; postorderIterate(root, expected); Solution s; vector<int> result = s.postOrderIterate(root); assertList(expected, result); delTree(root); }
void delTree ( TNODE * root ) { if (root == NULL) { return; } if (root->m_Dest != NULL ) { free(root->m_Dest); } for (int i = 0;i < TELCO_NUMBERS; i++) { delTree(root->m_Child[i]); } free(root); }
int _tmain(int argc, _TCHAR* argv[]) { FILE *file; file = fopen(". . ..txt", "r"); char string[30]; fgets(string, 30, file); fclose(file); Tree *tree = NULL; int x = 0; addEl(tree, string, x); printf("%d", conversion(tree)); delTree(tree); return 0; }
/*----------- test case of inOrderIterate() ------------*/ TEST(inOrderIterateTest, Positive01){ TreeNode *root = new TreeNode(12); root->left = new TreeNode(8); root->right = new TreeNode(16); root->left->left = new TreeNode(3); root->left->right = new TreeNode(10); root->right->left = new TreeNode(13); root->right->right = new TreeNode(18); root->left->left->left = new TreeNode(1); root->left->left->right = new TreeNode(5); root->left->left->right->left = new TreeNode(4); root->left->left->right->right = new TreeNode(6); vector<int> expected; inorderIterate(root, expected); Solution s; vector<int> result = s.inOrderIterate(root); assertList(expected, result); delTree(root); }
void clearTree ( TNODE ** root ) { if (*root == NULL) { return; } int alive = FALSE; for (int i = 0; i < TELCO_NUMBERS; i++) { clearTree(&((*root)->m_Child[i])); if ( ((*root)->m_Child[i]) != NULL ) { alive = TRUE; } } if (!alive && ((*root)->m_Dest == NULL)) { delTree(*root); *root = NULL; } }
int main() { srand(time(NULL)); // Setup window and give pointer GLFWwindow *window = setupWindow(); // Initialise tree variables node *treeRoot; bounds *initial = malloc(sizeof(bounds)); // Setup initial bounds initial->centerX = 0; initial->centerY = 0; initial->halfDistance = squareSize / 2; // Create tree root treeRoot = createNode(initial); glfwSetWindowUserPointer(window, treeRoot); while (!glfwWindowShouldClose(window)) { glClear(GL_COLOR_BUFFER_BIT); drawTree(treeRoot, 0); glfwSwapBuffers(window); glfwPollEvents(); } // Free tree memory delTree(treeRoot); glfwDestroyWindow(window); glfwTerminate(); return 0; }
Expression::~Expression() { delTree(root_); }
BTree::~BTree(){ /*deletes entire binary tree*/ delTree(root); root=NULL; data=0; }
int main ( int argc, char * argv [] ) { TNODE * root; char tmpStr[100]; const char * dst; int res; root = NULL; res = addDest ( &root, "420", "Czech republic" ); /* res = 1 */ std::cout<<res<<std::endl; res = addDest ( &root, "421", "Slovak republic" ); /* res = 1 */ std::cout<<res<<std::endl; res = addDest ( &root, "1", "USA" ); /* res = 1 */ std::cout<<res<<std::endl; res = addDest ( &root, "420606", "CZ - O2 mobil" ); /* res = 1 */ std::cout<<res<<std::endl; res = addDest ( &root, "420606123456", "CZ - Vodafone" ); /* res = 1 */ std::cout<<res<<std::endl; dst = search ( root, "420606334455" ); /* dst = "CZ - O2 mobil" */ std::cout<<dst<<std::endl; dst = search ( root, "420603212223" ); /* dst = "Czech republic" */ std::cout<<dst<<std::endl; dst = search ( root, "420606123456" ); /* dst = "CZ - Vodafone" */ std::cout<<dst<<std::endl; dst = search ( root, "42060612345" ); /* dst = "CZ - O2 mobil" */ std::cout<<dst<<std::endl; dst = search ( root, "37123456" ); /* dst = NULL */ /* nemuzu testovat pada do segfault - logicky */ dst = search ( root, "1998877665544332211" ); /* dst = "USA" */ std::cout<<dst<<std::endl; delTree ( root ); root = NULL; res = addDest ( &root, "420", "Czech republic" ); /* res = 1 */ std::cout<<res<<std::endl; res = addDest ( &root, "421", "Slovak republic" ); /* res = 1 */ std::cout<<res<<std::endl; res = addDest ( &root, "1", "USA" ); /* res = 1 */ std::cout<<res<<std::endl; res = addDest ( &root, "420606", "CZ - O2 mobil" ); /* res = 1 */ std::cout<<res<<std::endl; res = addDest ( &root, "420606123456", "CZ - Vodafone" ); /* res = 1 */ std::cout<<res<<std::endl; dst = search ( root, "420222333444" ); /* dst = "Czech republic" */ std::cout<<dst<<std::endl; dst = search ( root, "420606112233" ); /* dst = "CZ - O2 mobil" */ std::cout<<dst<<std::endl; dst = search ( root, "420606123456" ); /* dst = "CZ - Vodafone" */ std::cout<<dst<<std::endl; res = delDest ( &root, "420" ); /* res = 1 */ std::cout<<res<<std::endl; /* tady res je 0 */ dst = search ( root, "420222333444" ); /* dst = NULL */ /* nemuzu testovat pada do segfault - logicky */ dst = search ( root, "420606112233" ); /* dst = "CZ - O2 mobil" */ std::cout<<dst<<std::endl; dst = search ( root, "420606123456" ); /* dst = "CZ - Vodafone" */ std::cout<<dst<<std::endl; res = addDest ( &root, "42", "Euro telco company" ); /* res = 1 */ std::cout<<res<<std::endl; dst = search ( root, "420222333444" ); /* dst = "Euro telco company" */ std::cout<<dst<<std::endl; dst = search ( root, "420606112233" ); /* dst = "CZ - O2 mobil" */ std::cout<<dst<<std::endl; dst = search ( root, "420606123456" ); /* dst = "CZ - Vodafone" */ delTree ( root ); root = NULL; strncpy ( tmpStr, "Czech republic", sizeof ( tmpStr ) ); res = addDest ( &root, "420", tmpStr ); /* res = 1 */ std::cout<<res<<std::endl; strncpy ( tmpStr, "Slovak republic", sizeof ( tmpStr ) ); res = addDest ( &root, "421", tmpStr ); /* res = 1 */ std::cout<<res<<std::endl; strncpy ( tmpStr, "USA", sizeof ( tmpStr ) ); res = addDest ( &root, "1", tmpStr ); /* res = 1 */ std::cout<<res<<std::endl; strncpy ( tmpStr, "CZ - O2 mobil", sizeof ( tmpStr ) ); res = addDest ( &root, "420606", tmpStr ); /* res = 1 */ std::cout<<res<<std::endl; strncpy ( tmpStr, "CZ - Vodafone", sizeof ( tmpStr ) ); res = addDest ( &root, "420606123456", tmpStr ); /* res = 1 */ std::cout<<res<<std::endl; dst = search ( root, "420606334455" ); /* dst = "CZ - O2 mobil" */ std::cout<<dst<<std::endl; dst = search ( root, "420603212223" ); /* dst = "Czech republic" */ std::cout<<dst<<std::endl; dst = search ( root, "420606123456" ); /* dst = "CZ - Vodafone" */ std::cout<<dst<<std::endl; dst = search ( root, "37123456" ); /* dst = NULL */ dst = search ( root, "1998877665544332211" ); /* dst = "USA" */ delTree ( root ); root = NULL; res = addDest ( &root, "420", "Czech republic" ); /* res = 1 */ res = addDest ( &root, "1", "USA" ); /* res = 1 */ dst = search ( root, "420606334455" ); /* dst = "Czech republic" */ dst = search ( root, "12345" ); /* dst = "USA" */ res = delDest ( &root, "1" ); /* res = 1 */ dst = search ( root, "12345" ); /* dst = NULL */ res = delDest ( &root, "420" ); /* res = 1 */ dst = search ( root, "420606334455" ); /* dst = NULL */ res = delDest ( &root, "420" ); /* res = 0 */ res = addDest ( &root, "420A", "???" ); /* res = 0 */ delTree ( root ); return 0; }