首页 / 算法 / 重新学习二叉树作的几道习题
重新学习二叉树作的几道习题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了重新学习二叉树作的几道习题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1859字,纯文字阅读大概需要3分钟。
内容图文
![重新学习二叉树作的几道习题](/upload/InfoBanner/zyjiaocheng/1076/8d45ff83c99445a18a9584d7cc57024c.jpg)
二叉树习题
// Tree2.cpp : 定义控制台应用程序的入口点。
//
#include <iostream>
#include "stdafx.h"
using namespace std;
typedef struct
_TreeNode
{
char data;
_TreeNode*
lChild;
_TreeNode* rChild;
}TreeNode,*PTreeNode;
void PreWalk(TreeNode* p)
{
if(p == NULL) return;
cout<<
p->data <<endl;
if(p->lChild !=
NULL)
cout<< "left of
"<<p->data<<endl;
PreWalk(
p->lChild);
if( p->rChild !=
NULL)
cout<< "righ of "
<<p->data<<endl;
PreWalk(p->rChild);
}
void InWalk(TreeNode* p)
{
if(p
== NULL) return;
if(p->lChild != NULL)
cout<< "left of "<<p->data<<endl;
InWalk(
p->lChild);
cout<<p->data<<endl;
if( p->rChild != NULL)
cout<< "righ of " <<p->data<<endl;
InWalk(p->rChild);
}
void PostWalk(TreeNode* p)
{
if(p == NULL) return;
if(p->lChild != NULL)
cout<< "left of "<<p->data<<endl;
PostWalk( p->lChild);
if( p->rChild != NULL)
cout<< "righ of " <<p->data<<endl;
PostWalk(p->rChild);
cout<<p->data<<endl;
}
/*前序输入创建二叉树*/
bool CreateTree(TreeNode**
pTree)
{
char c;
cout<<"Value:\n"<<endl;
cin>>c;
if( c == ‘#‘ )
{
*pTree = NULL;
return
false;//空子树
}
else if( c == ‘$‘
)
{
*pTree = NULL;
return true;//结束
}
else
{
TreeNode* pNode = new
TreeNode;
pNode->data = c;
*pTree
= pNode;
pNode->lChild = pNode->rChild=
NULL;
cout<<"Left of
"<<c<<endl;
if( CreateTree(
&(*pTree)->lChild ))
return
true;
cout<<"Right of
"<<c<<endl;
if(CreateTree(
&(*pTree)->rChild ))
return true;
return false;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
TreeNode* _root = NULL;
CreateTree(&_root);
PreWalk( _root);
return 0;
}
原文:http://www.cnblogs.com/skyofbitbit/p/3569296.html
内容总结
以上是互联网集市为您收集整理的重新学习二叉树作的几道习题全部内容,希望文章能够帮你解决重新学习二叉树作的几道习题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。