资源简介
从根结点到指定结点的路径 ——二叉树遍历法
随着社会科技的发展,人类的生活水平的提高。然而,在发展的同时,我们也不能避免选择,在十字路口,我们可能会有多种选项,由这些不同的路口,我们都能达到相同的目的地。而这二叉树则强调最多只有二个选项。在不同的路叉选择中,我们要达到相同的目的地。
代码片段和文件信息
# include
# include
# define max 30 /*二叉树中最多的结点数*/
typedef struct btnode /*定义二叉树的结点类型*/
{
char data; /*结点的数据为字符型数据*/
struct btnode *lchild*rchild; /*左右指针*/
}bttree;
bttree *cre_tree(char *strint iint m) /*将字符串中的第i个字符到第m个字符作为数据生成对应的满二叉树*/
{
bttree *p;
if(i>=m) /*无效结点*/
return NULL;
else
{
p=(bttree *)malloc(sizeof(bttree));
p->data=str[i];
p->lchild=cre_tree(str2*i+1m); /*创建新结点的左子树*/
p->rchild=cre_tree(str2*i+2m); /*创建结点的右子树*/
return p;
}
}
void inorder(bttree *t) /*中序遍历二叉树*/
{
if(t!=NULL)
{printf(“%c“t->data);
inorder(t->lchild);
//printf(“->“);
inorder(t->rchild);
}
}
void main()
{
int in;
char str[max];
bttree *root; /* *root为指向根结点的指针*/
printf(“please input a btree node num:\n“);
scanf(“%d“&n);
printf(“please input a string which length is %d:“n);
for(i=0;i str[i]=getchar();
printf(“\n“);
root=cre_tree(str0n); /*生成二叉树*/
printf(“the tree is already created\n“);
printf(“\n“);
printf(“the result sfter inorder processing :“); /*中序遍历后输出结果*/
inorder(root);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-06-12 08:11 从根结点到指定结点的路径 数据结构课程设计\
文件 1378 2010-01-21 17:11 从根结点到指定结点的路径 数据结构课程设计\中序遍历.cpp
文件 1596 2010-01-21 17:11 从根结点到指定结点的路径 数据结构课程设计\前序遍历.cpp
文件 1360 2010-01-21 17:11 从根结点到指定结点的路径 数据结构课程设计\后序遍历.cpp
文件 182313 2011-06-12 08:11 从根结点到指定结点的路径 数据结构课程设计\课程设计.doc
- 上一篇:PCM编解码程序(模拟信号抽样)
- 下一篇:JDK8U241版本Mac版
评论
共有 条评论