数据结构,麻烦各位帮忙解答下

#include<stdio.h>#include<stdlib.h>#defineQueueMaxSize20#defineStackMaxSize10typedefi... #include<stdio.h>
#include<stdlib.h>
#define QueueMaxSize 20
#define StackMaxSize 10
typedef int ElemType;

struct BTreeNode
{ElemType data;
struct BTreeNode* left;
struct BTreeNode* right;};

void Insert(struct BTreeNode** BST,ElemType x)
{
struct BTreeNode* p;
struct BTreeNOde* t=*BST,*parent=NULL;
while(t!=NULL)
{parent=t;
if(x<t->data) t=t->left;
else t=t->right;}
p=malloc(sizeof(struct BTreeNode));
p->data=x;
p->left=p->right=NULL;
if(parent==NULL) *BST=p;
else if(x<parent->data)
parent->left=p;
else parent->right=p;
}

void CreateBSTree(struct BTreeNode** BST,ElemType a[],int n)
{
int i;
*BST=NULL;
for(i=0;i<n;i++)
Insert(BST,a[i]);
}

void PrintBTree(struct BTreeNode* BT)
{
if(BT!=NULL)
{printf("%d",BT->data);
if(BT->left!=NULL || BT->right!=NULL)
{printf("(");
PrintBTree(BT->left);
if(BT->right!=NULL) printf(",");
PrintBTree(BT->right);}}
}

void main()
{int x,*px;
ElemType a[10]={45,23,29,52,35,70,12,89,34,33};
struct BTreeNode* bst=NULL;
CreateBSTree(&bst,a,10);
printf("建立的二叉排序树的广义表形式为:\n");
PrintBTree(bst);
}

C:\Documents and Settings\Administrator\桌面\新建文件夹\五.c(15) : warning C4133: 'initializing' : incompatible types - from 'struct BTreeNode *' to 'struct BTreeNOde *'
C:\Documents and Settings\Administrator\桌面\新建文件夹\五.c(18) : error C2037: left of 'data' specifies undefined struct/union 'BTreeNOde'
C:\Documents and Settings\Administrator\桌面\新建文件夹\五.c(18) : error C2037: left of 'left' specifies undefined struct/union 'BTreeNOde'
C:\Documents and Settings\Administrator\桌面\新建文件夹\五.c(19) : error C2037: left of 'right' specifies undefined struct/union 'BTreeNOde'
C:\Documents and Settings\Administrator\桌面\新建文件夹\五.c(24) : error C2037: left of 'data' specifies undefined struct/union 'BTreeNOde'
C:\Documents and Settings\Administrator\桌面\新建文件夹\五.c(25) : error C2037: left of 'left' specifies undefined struct/union 'BTreeNOde'
C:\Documents and Settings\Administrator\桌面\新建文件夹\五.c(26) : error C2037: left of 'right' specifies undefined struct/union 'BTreeNOde'
Error executing cl.exe.

五.obj - 6 error(s), 1 warning(s)

在insert函数中出现若干这样的错误,为什么啊
展开
 我来答
dexahh
2011-06-06 · TA获得超过354个赞
知道答主
回答量:216
采纳率:100%
帮助的人:307万
展开全部
#include<stdio.h>
#include<stdlib.h>
#define QueueMaxSize 20
#define StackMaxSize 10
typedef int ElemType;

struct BTreeNode
{ElemType data;
struct BTreeNode* left;
struct BTreeNode* right;};

void Insert(struct BTreeNode** BST,ElemType x)
{
struct BTreeNode* p;
// struct BTreeNOde* t=*BST,*parent=NULL; BTreeNOde名字写错了
struct BTreeNode* t=*BST,*parent=NULL;
while(t!=NULL)
{parent=t;
if(x<t->data) t=t->left;
else t=t->right;}
p= (struct BTreeNode*)malloc(sizeof(struct BTreeNode));//指针强转
p->data=x;
p->left=p->right=NULL;
if(parent==NULL) *BST=p;
else if(x<parent->data)
parent->left=p;
else parent->right=p;
}

void CreateBSTree(struct BTreeNode** BST,ElemType a[],int n)
{
int i;
*BST=NULL;
for(i=0;i<n;i++)
Insert(BST,a[i]);
}

void PrintBTree(struct BTreeNode* BT)
{
if(BT!=NULL)
{printf("%d",BT->data);
if(BT->left!=NULL || BT->right!=NULL)
{printf("(");
PrintBTree(BT->left);
if(BT->right!=NULL) printf(",");
PrintBTree(BT->right);}}
}

void main()
{//int x,*px; 这两个变量没用,警告
ElemType a[10]={45,23,29,52,35,70,12,89,34,33};
struct BTreeNode* bst=NULL;
CreateBSTree(&bst,a,10);
printf("建立的二叉排序树的广义表形式为:\n");
PrintBTree(bst);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式