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

#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函数中出现若干这样的错误,为什么啊

第1个回答  2011-06-06
#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);
}本回答被提问者采纳

数据结构的一份代码,希望热心人帮忙解答一下
ElemType * elem;int length;int listsize;} Sqlist;是将此结构体起了个自定义的名字,这个名字就是Sqlist。那代码后面的诸如Sqlist *s ,就是定义了一个这个结构体的指针。这里用到了malloc和realloc函数。malloc函数就是向我们的电脑申请一段内存空间,用作存储我们的数据。realloc就是重新分配一...

数据结构里什么是字典序什么是标准序,帮忙解答一下,举个例子
标准序: 短在前,长在后,等长的依次比字 母, 如to < up < cap < cat < too < two < boat < boot < card 字典序: 依次比字母, 如boat < boot < cap < card < cat < to < too< two < up

麻烦各位高手帮忙把下图的题目解答下!谢谢!
②,10分之1;10分之4 ③,6页 ④,7分之7; 3分之3;12分之12 ⑤,四份;1\/4;八份;1\/4 ⑥,两个3\/6减去一个3\/6,也就是一个3\/6,也就是1\/2 ⑦,12朵 ⑧,美术组有八人,科技组有五人 ⑨,小红种了四颗,小亮种了八颗 ...

急急,麻烦各位高手帮忙解答一下,谢谢
1\/⑥ +1\/⑦=(⑦+⑥)\/(⑥*⑦)△=[(⑦+⑥)\/(⑥*⑦)]*⑦ △=[⑦+⑥]\/⑥ 把⑦=6*7*8 ⑥=5*6*7 代入上式 分子可以提取公因式有(6*7) ,以分母的(6*7)互相抵消,所以 △=[8+5]\/5 △=13\/5

麻烦各位高手帮忙解答一下,求过程!谢谢啦!
作变量代换 t = x+1 ,则 dt = dx ,原式 = dt \/ (t^2+1) = arctan t ,把正无穷、负无穷代入求得结果 = π\/2 - (-π\/2) = π 。

请各位高手帮忙解答一下
4x²-4x>15 4x²-4x+1>16 (2x-1)²>16 2x-1>4或2x-1<-4 x>2.5或x<-1.5

拜托各位帮帮忙,破一下这数独
首先,找突破口,先填能唯一确定填哪个数字的空。该给定情况下有共有4步,数字用蓝色填。填完后如表一所示。第一步,就是在F行2列填9。理由有二:1、第1列、3列都有9,2、第D行也有9。所以对于左边中间的正方形内能填9的空只有F行2列这一个空,所以填上。第二步,就是在F行5列填3。

帮忙解答一下第一题呗
答案59.如果是编程的话,不大会。这个是从被5除余4来求解的。被5整除的尾数是0和5.被2除余1说明这个数是奇数。所以尾数只能是9.被3除余2可以知道,这个数各位上数字相加也是3的倍数加2.这样的数有29,59,89……所以可以求出最小的数是59来。

麻烦各位姐姐哥哥帮忙解答
主视图:从左往右画的小正方形个数:3、2、2 左视图:从左往右画的小正方形个数:3、2

麻烦各位帮忙解答一下,求过程!谢谢啦!
回答:百度一点你就知道

相似回答