没分了,但问题还在,得解决,亲们,拜托了,关于结构体指针的
#include "stdio.h"#define MAX 20
typedef struct LNode
{
int data;
LNode *right;
LNode *left;
}LNode;
typedef struct title
{
int length;
LNode *head;
}title;
void bijiao(LNode n,LNode* first){
if(n.data>first.data){
if(first.right=NULL)
first.right=&n;
else bijiao(n,first.right);//有问题 cannot convert parameter 2 from 'struct LNode *' to 'struct LNode'
}
else {
if(first.left=NULL)
first.left=&n;
else bijiao(n,first.left);//有问题 cannot convert parameter 2 from 'struct LNode *' to 'struct LNode'
}
}
int main(){
int n;
title tit;
LNode lno[MAX];
printf("please input the length(0<n<=20:");
scanf("%d",&n);
tit.length=n;
printf("\nplease input the values");
for(n=0;n<tit.length;n++)
scanf("%d",lno[n].data);
tit.head=lno;//表头获得根的地址
for(n=0;n<tit.length;n++)
lno[n].left=lno[n].right=NULL;//初始化结点的左右子节点
for (n=1;n<tit.length;n++)
bijiao(lno[0],lno[n]);//创建树
return 0;
}
还有,我这样定义的这个bijiao函数不会修改lno[Max]中结点左右子节点的值啊,是不是还是NULL,大神们,嘿嘿