コード例 #1
0
void delTree(TreeNode* root) {
    if(!root)    return;
    delTree(root->left);
    delTree(root->right);
    delete root;
    root = NULL;
}
コード例 #2
0
/* ------------- 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);
}
コード例 #3
0
ファイル: main.c プロジェクト: Alecs94/DSA-lab
void delTree(NodeT *root)
{
    if(root==NULL)
    return;
    delTree(root->left);
    delTree(root->right);
    free(root);
}
コード例 #4
0
ファイル: main.cpp プロジェクト: CCJY/coliru
void delTree(node *& tree) {
    if (tree != nullptr) {
        delTree(tree->left);
        delTree(tree->right);
        delete tree;
        tree = nullptr;
    }
}
コード例 #5
0
ファイル: 6.2.cpp プロジェクト: SChistuakov/First-Repository
void delTree(Tree *tr)
{
	if (tr != NULL)
	{
		delTree(tr->left);
		delTree(tr->right);
		delete(tr);
	}
}
コード例 #6
0
ファイル: Expression.cpp プロジェクト: zenden2k/FileSearch
void Expression::delTree(ExprNodePtr tree) {
    if (tree == nullptr) {
        return;
    }

    delTree(tree->left);
    delTree(tree->right);

    delete tree;
}
コード例 #7
0
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;
}
コード例 #8
0
ファイル: main.cpp プロジェクト: CCJY/coliru
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;
}
コード例 #9
0
ファイル: main.c プロジェクト: Alecs94/DSA-lab
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;
}
コード例 #10
0
ファイル: tiretree.c プロジェクト: aaa1616/Fairy
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);
	}
}
コード例 #11
0
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);
}
コード例 #12
0
ファイル: mmanon.c プロジェクト: Whissi/rsyslog
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);
	}
}
コード例 #13
0
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);
}
コード例 #14
0
ファイル: Tree.cpp プロジェクト: syky27/BI-PA1
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);
}
コード例 #15
0
ファイル: 6.2.cpp プロジェクト: SChistuakov/First-Repository
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;
}
コード例 #16
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);
}
コード例 #17
0
ファイル: Tree.cpp プロジェクト: syky27/BI-PA1
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;
    }
    
}
コード例 #18
0
ファイル: main.c プロジェクト: btheobald/bhnsim
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;
}
コード例 #19
0
ファイル: Expression.cpp プロジェクト: zenden2k/FileSearch
Expression::~Expression() {
    delTree(root_);
}
コード例 #20
0
ファイル: BINTREE.CPP プロジェクト: mymindleaks/jHyperDoc
BTree::~BTree(){	/*deletes entire binary tree*/
	delTree(root);
	root=NULL;
	data=0;
}
コード例 #21
0
ファイル: Tree.cpp プロジェクト: syky27/BI-PA1
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;
}