二叉树的遍历
来源:互联网 发布:淘宝客怎样推广 编辑:程序博客网 时间:2024/04/26 13:52
#define MaxSize 100
typedef struct node{
int data;
node* lchild;
node* rchild;
}TNode;
void preOrder(TNode *b)
{
TNode *stack[MaxSize], *p;
int top = -1;
stack[++top] = b;
while(top != -1)
{
p = stack[top--];
cout<< p->data<<"/t";
if(p->rchild != NULL)
{
stack[++top] = p->rchild;
}
if(p->lchild != NULL)
{
stack[++top] = p->lchild;
}
}
}
void inOrder(TNode * b)
{
TNode * stack[MaxSize], *p;
int top= -1;
stack[++top] = b;
p = b->lchild;
while(p != NULL)
{
stack[++top] = p;
p = p->lchild;
}
while(top != -1)
{
p = stack[top--];
cout<<p->data<<"/t";
if(p->rchild != NULL)
{
stack[++top] = p->rchild;
p = p->rchild;
p = p->lchild;
while(p != NULL)
{
stack[++top] = p;
p = p->lchild;
}
}
}
}
void postOrder(TNode* b)
{
TNode * stack[MaxSize], *p,*q;
int top = -1;
stack[++top] = b;
p = b->lchild;
int heigh = 0;
while(p != NULL)
{
heigh++;
stack[++top] = p;
p = p->lchild;
}
q = NULL;
while(top != -1)
{
p = stack[top];
if(p ->rchild == NULL||p->rchild == q)
{
cout<<p->data<<"Level:"<<heigh<<"/t";
top--;
q = p;
heigh--;
}
else if(q != p->rchild)
{
heigh++;
stack[++top] = p->rchild;
p = p->rchild;
p = p->lchild;
while(p != NULL)
{
heigh++;
stack[++top] = p;
p = p->lchild;
}
}
}
}
void levelOrder(TNode* b)
{
TNode* quene[MaxSize], *p;
int level[MaxSize];
int front = 0, rear = 0;
quene[rear++] = b;
level[front] = 0;
while(front != rear)
{
p = quene[front];
cout<<p->data<<"level:"<<level[front]<<"/t";
if(p->lchild!= NULL)
{
level[rear] = level[front]+1;
quene[rear++] = p->lchild;
}
if(p->rchild!= NULL)
{
level[rear] = level[front]+1;
quene[rear++] = p->rchild;
}
front++;
}
}
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- GPS应用程序:如何获取修正值
- 生成随即组合的方法
- Differences between Theorem, Lemma and Corollary, etc.
- today work Roll
- JSF Gossip: 错误讯息处理
- 二叉树的遍历
- 23个经典JDK设计模式
- (高手进)怎么修改Ghost封装自己的系统
- 一个很有用的消息WM_SIZING
- Win7
- CPU中的主要寄存器
- windows/ubuntu 文件共享之 Samba 配置
- 判断素数
- 程序员从初级到中级10个秘诀