crack the code interview —— binarytree
来源:互联网 发布:mac设置iphone6铃声 编辑:程序博客网 时间:2024/05/10 01:45
#include <iostream>using namespace std;struct BinaryTreeNode{ int value; BinaryTreeNode * left; BinaryTreeNode * right; BinaryTreeNode(int v) { value = v; left = right = NULL; }};class BinaryTree{private: BinaryTreeNode * root; void preOrder(BinaryTreeNode * node) { if (node == NULL) return; cout<<node->value<<" "; preOrder(node->left); preOrder(node->right); } void inOrder(BinaryTreeNode * node) { if (node == NULL) return; inOrder(node->left); cout<<node->value<<" "; inOrder(node->right); } void postOrder(BinaryTreeNode * node) { if (node == NULL) return; postOrder(node->left); postOrder(node->right); cout<<node->value<<" "; } void insert(BinaryTreeNode * node, int value) { if (node == NULL) return; if (value < node->value) { if (node->left == NULL) { node->left = new BinaryTreeNode(value); return; } insert(node->left, value); } else if (value > node->value) { if (node->right == NULL) { node->right = new BinaryTreeNode(value); return; } insert(node->right, value); } else { cout<<"insert Error"<<endl; } } void deleteNode(BinaryTreeNode * node) { if (node == NULL) return; deleteNode(node->left); deleteNode(node->right); delete node; } bool search(BinaryTreeNode * node, int value) { if (node == NULL) return false; if (value < node->value) search(node->left, value); else if (value > node->value) search(node->right, value); else return true; }public: BinaryTree() { root = NULL; } ~BinaryTree() { if (root != NULL) deleteNode(root); } void Insert(int value) { if (root == NULL) root = new BinaryTreeNode(value); else insert(root, value); } void PreOrder() { preOrder(root); cout<<endl; } void InOrder() { inOrder(root); cout<<endl; } void PostOrder() { postOrder(root); cout<<endl; } bool Search(int value) { return search(root, value); } };int main(){ BinaryTree b; b.Insert(2); b.Insert(4); b.Insert(1); b.Insert(3); b.PreOrder(); b.InOrder(); b.PostOrder(); cout<<b.Search(1)<<endl; return 0;}
0 0
- crack the code interview —— binarytree
- crack the code interview 1.2
- crack the code interview 1.4
- crack the code interview 1.5
- crack the code interview 1.6
- crack the code interview 1.7
- crack the code interview 1.8
- crack the code interview 2.1
- crack the code interview 2.2
- crack the code interview 2.3
- crack the code interview 2.4
- crack the code interview 2.5
- crack the code interview 3.1
- crack the code interview 3.2
- crack the code interview 3.3
- crack the code interview 3.4
- crack the code interview 3.5
- crack the code interview 3.6
- 体会函数参数传递1
- R12 BankAccounts--Supplier and Customer
- crack the code interview 4.1
- C语言编程——输出100—200之间的所有素数和非素数
- web 服务器种类; windows系列操作系统 小结
- crack the code interview —— binarytree
- mod fib
- c 银行家算法
- 手机web开发,click,touch,tap事件浅析
- C-Store: A Column-oriented DBMS(2)
- CGLib动态代理原理及实现的一个小例子
- linux C/C++开发环境搭建指南
- Hbase API管理功能3-集群管理
- JS自定义树的实现