二叉树C++实验代码.doc_第1页
二叉树C++实验代码.doc_第2页
二叉树C++实验代码.doc_第3页
二叉树C++实验代码.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include#includeusing namespace std;void visit (char c)coutc;struct BiTNodeint data;BiTNode *lchild,*rchild;BiTNode(char ch,BiTNode *left,BiTNode *right)data=ch;lchild=left;rchild=right;BiTNode();struct BiTreeBiTNode *root;BiTree()root=NULL;void PreOrderTraverse();void InOrderTraverse();void PostOrderTraverse();void InOrderTraverse2();BiTNode* SearchBST1(BiTNode *T, int key); void InsertBST1(BiTNode* &T, int e);private:void PreOrder(BiTNode *p);void InOrder(BiTNode *p);void PostOrder(BiTNode *p);void InOrder2(BiTNode *p);BiTNode* BiTree:SearchBST1(BiTNode *T, int key)if (T = NULL) return T;/ 查找不成功else if (key data) return SearchBST1(T-lchild, key);else if (key T-data) return SearchBST1(T-rchild, key);else return T;/ 查找成功 key=T-datavoid BiTree: InsertBST1(BiTNode* &T, int e) if (T=NULL) T=new BiTNode(e, NULL, NULL);else if (e data) InsertBST1(T-lchild, e);else if (e T-data) InsertBST1(T-rchild, e);int cntLeaf(BiTNode *p)if(p=NULL) return 0;int cnt=0;if(p-lchild=NULL&p-rchild=NULL)return 1;elsereturn cntLeaf(p-lchild)+cntLeaf(p-rchild);void BiTree:PreOrderTraverse()PreOrder(root);void BiTree:InOrderTraverse()InOrder(root);void BiTree:InOrderTraverse2()InOrder2(root);void BiTree:PostOrderTraverse()PostOrder(root);void BiTree:PreOrder(BiTNode *p)if(p=NULL) return;coutdata; PreOrder(p-lchild);PreOrder(p-rchild);void BiTree:InOrder(BiTNode *p)if(p=NULL) return;PreOrder(p-lchild);coutdata;PreOrder(p-rchild);void BiTree:InOrder2(BiTNode *p)if(p=NULL) return;PreOrder(p-rchild);coutdata;PreOrder(p-lchild);void BiTree:PostOrder(BiTNode *p)if(p=NULL) return;PostOrder(p-lchild);PostOrder(p-rchild);coutdata;BiTNode *CopyTree(BiTNode *T) if (T=NULL ) return NULL;BiTNode*l= CopyTree(T-lchild);/复制左子树BiTNode*r = CopyTree(T-rchild);/复制右子树BiTNode *newT=new BiTNode(T-data,l,r); return newT; int main()BiTree T;T.InsertBST1(T.root,10);T.InsertBST1(T.root,5); /T.PreOrderTraverse();/coutendl;T.InOrderTraverse();couten

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论