二叉树数组顺序存储与遍历
来源:互联网 发布:2017诺贝尔奖预测知乎 编辑:程序博客网 时间:2024/04/30 02:44
#include <iostream>
#include <string>
using namespace std;
#define MAXSIZE 100
class BiTree
{
private:
char data[MAXSIZE];//data[0]不用
int n;
public:
BiTree();
void Insert(char x);
void PreOrder(int i);
void InOrder(int i);
void PostOrder(int i);
};
BiTree::BiTree()
{
n=0;
}
void BiTree::Insert(char x)
{
n++;
data[n]=x;
}
void BiTree::PreOrder(int i)
{
if(data[i]!='/')
{
cout<<data[i]<<" ";
if(2*i<=n&&data[2*i+1]!='/')
PreOrder(2*i);
if(2*i+1<=n&&data[2*i+1]!='/')
PreOrder(2*i+1);
}
}
void BiTree::InOrder(int i)
{
if(data[i]!='/')
{
if(2*i<=n&&data[2*i+1]!='/')
PreOrder(2*i);
cout<<data[i]<<" ";
if(2*i+1<=n&&data[2*i+1]!='/')
PreOrder(2*i+1);
}
}
void BiTree::PostOrder(int i)
{
PreOrder(2*i);
PreOrder(2*i+1);
if(data[i] != '/')
{
cout<<data[i]<<" ";
}
}
int main()
{
string str = "ABCDE/G//JK//NO";
// while(cin>>str)
// {
BiTree tree;
for(int i=0;i < str.length();i++)
{
tree.Insert(str[i]);
}
tree.PreOrder(1);
cout<<endl;
tree.InOrder(1);
cout<<endl;
tree.PostOrder(1);
cout<<endl;
// }
return 0;
}
#include <string>
using namespace std;
#define MAXSIZE 100
class BiTree
{
private:
char data[MAXSIZE];//data[0]不用
int n;
public:
BiTree();
void Insert(char x);
void PreOrder(int i);
void InOrder(int i);
void PostOrder(int i);
};
BiTree::BiTree()
{
n=0;
}
void BiTree::Insert(char x)
{
n++;
data[n]=x;
}
void BiTree::PreOrder(int i)
{
if(data[i]!='/')
{
cout<<data[i]<<" ";
if(2*i<=n&&data[2*i+1]!='/')
PreOrder(2*i);
if(2*i+1<=n&&data[2*i+1]!='/')
PreOrder(2*i+1);
}
}
void BiTree::InOrder(int i)
{
if(data[i]!='/')
{
if(2*i<=n&&data[2*i+1]!='/')
PreOrder(2*i);
cout<<data[i]<<" ";
if(2*i+1<=n&&data[2*i+1]!='/')
PreOrder(2*i+1);
}
}
void BiTree::PostOrder(int i)
{
PreOrder(2*i);
PreOrder(2*i+1);
if(data[i] != '/')
{
cout<<data[i]<<" ";
}
}
int main()
{
string str = "ABCDE/G//JK//NO";
// while(cin>>str)
// {
BiTree tree;
for(int i=0;i < str.length();i++)
{
tree.Insert(str[i]);
}
tree.PreOrder(1);
cout<<endl;
tree.InOrder(1);
cout<<endl;
tree.PostOrder(1);
cout<<endl;
// }
return 0;
}
0 0
- 二叉树数组顺序存储与遍历
- 数组顺序存储二叉树
- 二叉树顺序存储和遍历
- 【数据结构】二叉树的顺序存储结构--遍历二叉树
- 二叉树用数组顺序存储(完全二叉树)并实现三种遍历,代码详解!!!
- 完全二叉树的顺序存储与非递归算法前序遍历
- 数据结构与算法简记:按层次顺序遍历和存储二叉树
- 二叉树遍历顺序
- 顺序存储的前序遍历(二叉树)
- 二叉树的顺序存储实现及遍历
- 二叉树的存储与遍历
- 二叉树顺序存储
- 顺序存储二叉树
- 二叉树-顺序存储
- 数组存储到二叉树并前序中序后序遍历
- 数组存储二叉树森林,实现构建遍历查插删
- 二叉树的遍历顺序
- 二叉树的顺序存储与基本操作
- 对flume1.6改造,添加Taildir功能
- resin windows 安装部署遇到问题
- .NET 数据同步批量操作,高效率方式
- Emgu 获取图片第一个数字
- 初识Linux命令(2)
- 二叉树数组顺序存储与遍历
- ubuntu14.04 安装vim错误
- 关于jQuery轮播动画
- LaTeX 实战经验:参考文献注意点
- 安装链接
- C# winform打开文件框 多类型过滤
- resin Windows 安装部署
- 将图片保存到本地后,系统图库可以查看图片
- jar包冲突