| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 21927 人关注过本帖, 1 人收藏
标题:树跟二叉树完整试用版
只看楼主 加入收藏
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
C++变态老...快告诉我..有先序线索法没!

[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-06-06 08:47
starrysky
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:华中科技大学EI -T0405
等 级:版主
威 望:11
帖 子:602
专家分:1
注 册:2005-9-12
收藏
得分:0 
,哈,很早以前就是置顶,现在又被置顶了啊
经典就是经典

我的征途是星辰大海
2006-06-06 15:54
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分:0 

先序跟后序的线索暂时没有做,现在轮到你们做拉,我的二叉树丢光了,而且现在工作了,很多工作要做,没有时间弄拉,交给两位斑竹


c++/C + 汇编 = 天下无敌
2006-06-06 16:02
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 

[CODE]#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
struct btnode
{int d;
int lflag,rflag;
struct btnode *lchild,*rchild;
};
struct btnode *Create(struct btnode *t,int k)
{
struct btnode *bt,*q;
int d;
scanf("%d",&d);
if(d!=0)
{ q=(struct btnode *)malloc(sizeof(struct btnode ));
q->lchild=q->rchild=NULL,q->lflag=q->rflag=0;
q->d=d;
if(k==0) bt=q;
if(k==1) t->lchild=q;
if(k==2) t->rchild=q;
Create(q,1);
Create(q,2);
}
return (bt);
}
void Xiansuo(struct btnode *t,struct btnode **k)
{
if(t)
{

if ((*k)!=NULL&&(*k)->rchild==NULL)
{ (*k)->rchild=t ; (*k)->rflag=1;}
(*k)=t;
Xiansuo(t->lchild,k);
Xiansuo(t->rchild,k);
}
return;
}

struct btnode *Xiansuo (struct btnode *bt) /*非递归先序遍历 */
{
struct btnode *S[SIZE],*p;
int top=-1;
if(bt!=NULL)
{
top++;
S[top]=bt;
while (top>=0)
{
p=S[top];
top--;
if(k->rflag==1) k->rchild=p;
if(p->rchild==NULL) p->rflag=1,k=p;
if(p->rchild!=NULL) {top++;S[top]=p->rchild;}
if(p->lchild!=NULL) {top++;S[top]=p->lchild;}
}
p->rflag=-1;
}
return(bt);
}


void Print(struct btnode *t)
{
while(t->rflag!=-1)
{
printf("%d ",t->data);
if(t->rchild==NULL) t=t->lchild;
else t=t->rchild;
}
}
return ;
}

main()
{
struct btnode *bt=NULL;
bt=Create(bt,0) ;

bt = Xiansuo(bt,0) ;
Print(bt);


getch();
}[/CODE]

以前写的.先序.后序留给那小子


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-06-06 19:13
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分:0 

那个线索先序的可以用非递归来做吗??这样才有意义


c++/C + 汇编 = 天下无敌
2006-06-06 20:27
jeffrey168
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-6-7
收藏
得分:0 

明天要交实验报告了,请各位高手帮助一下!谢谢!
二叉树的建立实验

下面给出二叉树的存储结构及二叉树的一些操作函数的原型,请完善有关的函数,并设计相应的二叉树实例,输入实例并验证程序是否正确。实验结束后请撰写实验报告。

#include <iostream.h>

typedef struct bitnode

{char data;

bitnode *lchild,*rchild;

}bitnode,*bitree;

bitree creatbitree1()

{//按先序序列输入结点,输入#表示空,建立二叉树的二叉链表。递归算法。

}

void creatbitree2(bitree &t)

{//按先序序列输入结点,输入#表示空,/建立二叉树的二叉链表。递归算法。

}

bitree creatbitree3()

{//按层次序列输入结点,输入#表示空,建立二叉树的二叉链表。非递归算法。

}

void creatbitree4(bitree &t)

{//按层次序列输入结点,输入#表示空,/建立二叉树的二叉链表。非递归算法。

}

void preorder(bitree t)

{ //先序遍历二叉树的递归算法。

}

void inorder(bitree t)

{//中序遍历二叉树的递归算法。

}

void postorder(bitree t)

{//后序遍历二叉树的递归算法。

}

void preorder2(bitree t)

{ //先序遍历二叉树的非递归算法。

}

void inorder2(bitree t)

{//中序遍历二叉树的非递归算法。

}

void postorder2(bitree t)

{//后序遍历二叉树的非递归算法。

}

void main()

{//验证上述函数是否正确的主函数。

}

2006-06-07 22:13
上杉冰枫
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2006-6-24
收藏
得分:0 
好东西`
偶要了
嘿嘿

因为→№頦§縎£銘→訫‰ 所以→№從此々吥£唁→愛‰
2006-06-24 18:12
pulf
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2006-7-31
收藏
得分:0 

2006-08-04 23:37
cky1014
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-8-8
收藏
得分:0 
lz啊,这里面包不包含给出两个结点,求结点路径啊?(用编历实现的)哪位高手有时间帮写一下啊,我写了一个暑假了,好可怜的

2006-08-08 09:41
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分:0 
有的,你自己找

c++/C + 汇编 = 天下无敌
2006-08-10 20:11
快速回复:树跟二叉树完整试用版
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037416 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved