写出先序遍历的二叉树的遍历算法。

 我来答
瀚敕发秘网4838
2011-07-22 · TA获得超过6.9万个赞
知道大有可为答主
回答量:4.4万
采纳率:0%
帮助的人:5963万
展开全部
递归方式:

#include<stdio.h>
typedef struct node{
char data;
struct node *lchild;
struct node *rchild;
}BitNode,*BitTree;

void Createtree(BitTree *bt){
char ch;
scanf("%c",&ch);
if(ch=='.') *bt=NULL;//如果输入元素为'.',表示空;
else
{
*bt=(BitNode *)malloc(sizeof(BitNode));
(*bt)->data=ch;
Createtree(&(*bt)->lchild);
Createtree(&(*bt)->rchild);
}
}

void Visit(char ch){
printf("%c",ch)
}
void Preorder(BitTree bt){ //线序遍历
if(bt)
{
Visit(bt->data);
Preorder(bt->lchild);
Preorder(bt->rchild);
}
}

void main()
{
BitTree bt;
Createtree(&bt);
printf("先序遍历:")
Preorder(bt);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户82258
推荐于2018-04-12 · TA获得超过1866个赞
知道小有建树答主
回答量:965
采纳率:0%
帮助的人:695万
展开全部
#include <stdio.h>
#include <stdlib.h>
#define max 100

typedef char ch[10];

void fun(ch x,ch y){
if(*x){
ch x1,x2,y1,y2;
char *p,*q,*t; char r; int n=0;
r=*x; t=y; p=y1; q=y2;
while(*t!=r){
*(p++)=*(t++);
n++;
}
t++; *p='\0';
while(*t) *(q++)=*(t++);
*q='\0'; t=&x[1]; p=x1; q=x2;
for (int i=0;i<n;i++) *(p++)=*(t++); *p='\0';
while(*t) *(q++)=*(t++); *q='\0';
fun(x1,y1); fun(x2,y2);
printf("%c",r);
}
}

void f(){
ch x,y;
printf("input a tree preorder:\n"); gets(x);
printf("input a tree midoeder:\n"); gets(y);
printf("\n");
puts(x); puts(y);
fun(x,y);
printf("\n");
}

void main(){
printf("***********Bitree************\n");
int n=1;
while(n){
f();
printf("0:break 1 :continue\n");
printf("input your select :");
scanf("%d",&n); getchar();
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Many_question
2011-07-20 · TA获得超过2853个赞
知道大有可为答主
回答量:2040
采纳率:66%
帮助的人:2327万
展开全部
procedure find ( r :node )
if ( r = nil) then exit;
out -> r
find ( r. left);
find( r. right);

伪代码.大概意思是递归调用来完成遍历.
追问
不用伪代码,用C语言怎么编写?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cos0930
2011-07-21
知道答主
回答量:37
采纳率:0%
帮助的人:27.1万
展开全部
要递归还是非递归?数据结构书上都有。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式