热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

二叉树(结点释放)

为什么80%的码农都做不了架构师?#includestructNode{intdata;structNode*left;structNode

为什么80%的码农都做不了架构师?>>>   hot3.png

#include struct Node {int data;struct Node *left;struct Node *right;Node(int x) {data = x;left = NULL;right = NULL;}
};void PostorderVisitTree(struct Node *root)
{if (root == NULL) return;PostorderVisitTree(root->left);PostorderVisitTree(root->right);printf("%d ", root->data);
}void _delBinTree(struct Node *root)
{if (root == NULL) return;_delBinTree(root->left);_delBinTree(root->right);printf("Delete Node (data = %d)!\n", root->data);delete (root);root = NULL;
}void deleteTree(struct Node **node)
{_delBinTree(*node);*node = NULL;
}int main(int argc, char** argv)
{Node *root = new Node(1);root->left = new Node(3);root->left->left = new Node(2);root->left->right = new Node(1);root->left->right->left = new Node(1);root->right = new Node(-1);root->right->left = new Node(4);root->right->left->left = new Node(1);root->right->left->right = new Node(2);root->right->right = new Node(5);root->right->right->right = new Node(2);PostorderVisitTree(root);printf("\n");deleteTree(&root);return 0;
}

 

输出结果:

2 1 1 3 1 2 4 2 5 -1 1
Delete Node (data = 2)!
Delete Node (data = 1)!
Delete Node (data = 1)!
Delete Node (data = 3)!
Delete Node (data = 1)!
Delete Node (data = 2)!
Delete Node (data = 4)!
Delete Node (data = 2)!
Delete Node (data = 5)!
Delete Node (data = -1)!
Delete Node (data = 1)!

 


转:https://my.oschina.net/tsh/blog/862912



推荐阅读
author-avatar
年轻的蒲山公_777
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有