
主题:建立二叉排序树,并中序输出,编译通过却不执行。。。建立二叉排序树
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
#definenull 0
#define MaxSize 20
typedef struct NodeType{
int data;
struct NodeType *lchild,*rchild;
} NodeType,*BiTree;
void Insert(BiTree T,int k){
if(T==null)
{
T=(NodeType *)malloc(sizeof(NodeType));
T->data=k;
T->lchild=null;
T->rchild=null;
}
else if(k>(T->data))
Insert(T->rchild,k);
else if(k<(T->data))

Insert(T->lchild,k);
}
BiTree CreatBiSortTree(){
BiTree root;
int i,n,temp;
root=null;
n=MaxSize;
for(i=0;i<n;i++)
{temp=rand()%100;/*随机生成一0~100的数,作为插入排序二叉树的结点*/
printf("%d ",temp);
Insert(root,temp);
}
return root;
}
void Visit(BiTree T){
if(T)
printf("%d ",T->data);
}
void InOrderTraverse(BiTree T){
if(T)
{

InOrderTraverse(T->lchild);
Visit(T);
InOrderTraverse(T->rchild);
}
}
void main(){
BiTree r;
r=CreatBiSortTree();
InOrderTraverse(r);
printf("\n");
}
执行的结果是,没有进行中序遍历输出,不知道啥原因~
--
FROM 113.108.133.*
Insert 不对吧,给形参分配了一块空间,可是实参根本没变啊。建立二叉排序树
【 在 repstd () 的大作中提到: 】
: #include <stdio.h>
: #include <malloc.h>
: #include <stdlib.h>
: ...................
--
FROM 106.3.103.*
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-29822-1.html
中国不得已的反制之措施