Simple implementation of the BinaryTree preorder traversal, inorder traversal, post traversal
来源:互联网 发布:怎么在mac上把win删 编辑:程序博客网 时间:2024/06/06 23:59
#include <iostream> using namespace std; struct BiTNode{ char data; struct BiTNode *lchild, *rchild; }; class BinaryTree{ public: BinaryTree();void CreateBiTree();void PreOrderTraverse();void Inorder();void Posorder();void PreOrderCount();void PreOrderCount(BiTNode* &T) ;void CreateBiTree(BiTNode* &T);void PreOrderTraverse(BiTNode* &T) ;void Inorder(BiTNode* &T) ;void Posorder(BiTNode* &T);int GetCount();private:BiTNode*T; int count;};BinaryTree::BinaryTree(){count=0;}void BinaryTree::CreateBiTree(BiTNode* &T){ char ch;cin>>ch; if(ch=='.')//if((ch=getchar())=='#')T=NULL; else{ T=new BiTNode;T->data=ch; CreateBiTree(T->lchild); CreateBiTree(T->rchild);} } void BinaryTree::PreOrderTraverse(BiTNode* &T){ if(T){cout<<T->data; PreOrderTraverse(T->lchild);PreOrderTraverse(T->rchild); } } void BinaryTree::Inorder(BiTNode* &T){if(T){Inorder(T->lchild); cout<<T->data;Inorder(T->rchild); } } void BinaryTree::Posorder(BiTNode* &T){ if(T){ Posorder(T->lchild); Posorder(T->rchild);cout<<T->data; } } void BinaryTree::PreOrderCount(BiTNode* &T){ if(T){count++; PreOrderCount(T->lchild);PreOrderCount(T->rchild); } } void BinaryTree::CreateBiTree(){ CreateBiTree(T);}void BinaryTree::Inorder(){Inorder(T);} void BinaryTree::PreOrderTraverse(){PreOrderTraverse(T);} void BinaryTree::PreOrderCount(){PreOrderCount(T);}int BinaryTree::GetCount(){return count;} void BinaryTree::Posorder(){Posorder(T);} int main(){ BinaryTree bn;cout<<"创建一颗树,输入字符代表树的数据,用“.”表示空树:"<<endl; bn.CreateBiTree(); cout<<"Preorder traversal:"<<endl; bn.PreOrderTraverse(); cout<<endl; cout<<"Inorder traversal:"<<endl; bn.Inorder(); cout<<endl; cout<<"Postorder traversal:"<<endl; bn.Posorder(); cout<<endl; cout<<"The number of nodes is:"<<endl; bn.PreOrderCount();cout<<bn.GetCount()<<endl; return 0;}
阅读全文
0 0
- Simple implementation of the BinaryTree preorder traversal, inorder traversal, post traversal
- <leetcode> Inorder, Preorder Traversal
- preorder, inorder, postorder traversal
- Binary Tree Inorder Traversal & Preorder Traversal
- Construct BinaryTree from Inorder and Postorder Traversal
- leetCode . Binary Tree Inorder/ Preorder/ Post Traversal iteratively
- Given preorder and inorder traversal of a tree, construct the binary tree.
- C++ implementation of DF Traversal
- Binary Tree Preorder Traversal & Binary Tree Inorder Traversal
- 144. Binary Tree Preorder Traversal &&94. Binary Tree Inorder Traversal
- 【LeetCode】Binary Tree Preorder &Inorder & Postorder Traversal
- LeeCode Binary Tree Preorder ,inorder ,postorder Traversal
- [LeetCode] PreOrder,Inorder,PostOrder Traversal Tree
- [Leetcode]Iterative preorder, inorder, postorder traversal
- LeetCode--Binary Tree Traversal ( Inorder, Preorder, PostOrder)
- Binary Tree Traversal(Preorder, Inorder, Postorder )
- Binary Tree Inorder/Preorder/Postorder Traversal(Java)
- leetcode Binary Tree Preorder Traversal Binary Tree Postorder Traversal Inorder Traversal
- HotSpot虚拟机在堆中对对象分配、布局和访问的全过程
- 白酒走势
- 继承中this关键字和super关键字的作用
- vi编辑器全选删除命令
- 说说JSON和JSONP,也许你会豁然开朗(含jQuery用例)
- Simple implementation of the BinaryTree preorder traversal, inorder traversal, post traversal
- Linux常用调试命令
- BZOJ1072[SCOI2007]排列perm 状压Dp
- bzoj 1419(期望dp)
- 明天是几号?
- 数据结构实验之二叉树五:层序遍历
- html之jQuery 的两种循环
- TypeScript 基本语法
- 洛谷 1196 [NOIP2002] 银河英雄传说 并查集