
数据结构二叉排序树实训(追加100分)
主要算法voidCreatBinTree(Bintree*t,charch){BinNode*prt,*p;p=NULL;prt=*t;while(ptr!=NULL)i...
主要算法
void CreatBinTree(Bintree *t,char ch)
{
BinNode * prt,* p;
p=NULL;
prt=* t;
while(ptr!=NULL)
if(ch==ptr->val)
{
ptr->count ++;
return;
}
else
{
p=ptr;
{
ptr=ch>ptr->val?ptr->rchild:ptr->luchild;
}
ptr=(BitNode *)malloc(sizeof(BitNode));
ptr->lchild=ptr->rchild=NULL;
ptr->val=ch;
ptr->count=1;
if(p==NULL) * t=ptr;
else if(ch>p->val)p->rchild=ptr;
else p->lchild=ptr;
}
void Travel_tree(BinTree t)
{
if(t==NULL)return;
travel_tree(t->lchild);
printf("%4,%9d\n",t->val,t->count);
travel_tree(rchild);
}
BitNode *p;
p=BitNode * t;
while(p!=NULL&&p->val!=k)
{
if(k<p->val)p=p->lchild;
else p=p->rchild;
}
return (p);
}
程序实现
#include <stdio.h>
#include <malloc.h>
typedef struct node
{
char val;
int count;
struct node * lchild, * rchild;
}BitNode, * BinTree;
main()
{
FILE * fp;
BitNode * p;
BinTree root = NULL;
char c;
fp = fopen("d:\\tc\\swj\\text.txt","t");
if( ! fp)
printf("\n 数据文件无法打开!");
while( ! feof(fp))
{
fscanf(fp,"% c\n",&c);
c = tolower(c);
CreatBinTree(&root,c);
}
printf("字符 出现次数\n");
Travel_tree(root);
do
{
printf("请输入要查询的字符:(输入'#'退出)\n");
scanf("\n% c",&c);
c = tolower(c);
p = Search_BST(root,c);
printf("出现次数为:%d\n",p->count);
}while(c!='#');
fclose(fp);
}
错误
F:\[vc6.0迷你精简版].vc6.0_mini\Microsoft Visual Studio\MyProjects\ssaas\saaa.cpp(26) : error C2065: 'creatbintree' : undeclared identifier
F:\[vc6.0迷你精简版].vc6.0_mini\Microsoft Visual Studio\MyProjects\ssaas\saaa.cpp(29) : error C2065: 'Travel_tree' : undeclared identifier
F:\[vc6.0迷你精简版].vc6.0_mini\Microsoft Visual Studio\MyProjects\ssaas\saaa.cpp(35) : error C2065: 'search_bst' : undeclared identifier
F:\[vc6.0迷你精简版].vc6.0_mini\Microsoft Visual Studio\MyProjects\ssaas\saaa.cpp(35) : error C2440: '=' : cannot convert from 'int' to 'struct node *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
F:\[vc6.0迷你精简版].vc6.0_mini\Microsoft Visual Studio\MyProjects\ssaas\saaa.cpp(39) : warning C4508: 'main' : function should return a value; 'void' return type assumed
Error executing cl.exe.
ssaas.exe - 4 error(s), 1 warning(s)
哪位大侠能帮忙校正错误
本人是个数据结构的菜鸟,一直没怎么好好上数据结构课。现在做实训脑袋一片空白,望大侠出手相助.谢谢! 展开
void CreatBinTree(Bintree *t,char ch)
{
BinNode * prt,* p;
p=NULL;
prt=* t;
while(ptr!=NULL)
if(ch==ptr->val)
{
ptr->count ++;
return;
}
else
{
p=ptr;
{
ptr=ch>ptr->val?ptr->rchild:ptr->luchild;
}
ptr=(BitNode *)malloc(sizeof(BitNode));
ptr->lchild=ptr->rchild=NULL;
ptr->val=ch;
ptr->count=1;
if(p==NULL) * t=ptr;
else if(ch>p->val)p->rchild=ptr;
else p->lchild=ptr;
}
void Travel_tree(BinTree t)
{
if(t==NULL)return;
travel_tree(t->lchild);
printf("%4,%9d\n",t->val,t->count);
travel_tree(rchild);
}
BitNode *p;
p=BitNode * t;
while(p!=NULL&&p->val!=k)
{
if(k<p->val)p=p->lchild;
else p=p->rchild;
}
return (p);
}
程序实现
#include <stdio.h>
#include <malloc.h>
typedef struct node
{
char val;
int count;
struct node * lchild, * rchild;
}BitNode, * BinTree;
main()
{
FILE * fp;
BitNode * p;
BinTree root = NULL;
char c;
fp = fopen("d:\\tc\\swj\\text.txt","t");
if( ! fp)
printf("\n 数据文件无法打开!");
while( ! feof(fp))
{
fscanf(fp,"% c\n",&c);
c = tolower(c);
CreatBinTree(&root,c);
}
printf("字符 出现次数\n");
Travel_tree(root);
do
{
printf("请输入要查询的字符:(输入'#'退出)\n");
scanf("\n% c",&c);
c = tolower(c);
p = Search_BST(root,c);
printf("出现次数为:%d\n",p->count);
}while(c!='#');
fclose(fp);
}
错误
F:\[vc6.0迷你精简版].vc6.0_mini\Microsoft Visual Studio\MyProjects\ssaas\saaa.cpp(26) : error C2065: 'creatbintree' : undeclared identifier
F:\[vc6.0迷你精简版].vc6.0_mini\Microsoft Visual Studio\MyProjects\ssaas\saaa.cpp(29) : error C2065: 'Travel_tree' : undeclared identifier
F:\[vc6.0迷你精简版].vc6.0_mini\Microsoft Visual Studio\MyProjects\ssaas\saaa.cpp(35) : error C2065: 'search_bst' : undeclared identifier
F:\[vc6.0迷你精简版].vc6.0_mini\Microsoft Visual Studio\MyProjects\ssaas\saaa.cpp(35) : error C2440: '=' : cannot convert from 'int' to 'struct node *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
F:\[vc6.0迷你精简版].vc6.0_mini\Microsoft Visual Studio\MyProjects\ssaas\saaa.cpp(39) : warning C4508: 'main' : function should return a value; 'void' return type assumed
Error executing cl.exe.
ssaas.exe - 4 error(s), 1 warning(s)
哪位大侠能帮忙校正错误
本人是个数据结构的菜鸟,一直没怎么好好上数据结构课。现在做实训脑袋一片空白,望大侠出手相助.谢谢! 展开
2个回答
展开全部
#include <iostream.h>
#include <ctype.h>
#include <stdio.h>
#include <malloc.h>
typedef struct node
{
char val;
int count;
struct node * lchild, * rchild;
}BitNode,* BinTree;
void CreatBinTree(BinTree * t,char ch)
{
BitNode *ptr, *p;
p=NULL;
ptr=*t;
while(ptr!=NULL)
{
if(ch==ptr->val)
{
ptr->count ++;
return;
}
else
{
p=ptr;
ptr=ch>ptr->val? ptr->rchild:ptr->lchild;
}
}
ptr=(BitNode *)malloc(sizeof(BitNode));
ptr->lchild=ptr->rchild=NULL;
ptr->val=ch;
ptr->count=1;
if(p==NULL) *t=ptr;
else if(ch>p->val) p->rchild=ptr;
else p->lchild=ptr;
}
void Travel_tree(BinTree t)
{
if(t == NULL) return;
Travel_tree(t->lchild);
printf("% 4c,% 9d\n",t->val,t->count);
Travel_tree(t->rchild);
}
BitNode * Search_BST(BinTree *t,char k)
{
BitNode *p;
p=*t;
while(p!=NULL&&p->val!=k)
{
if(k<p->val)p=p->lchild;
else p=p->rchild;
}
return (p);
}
int main()
{
FILE * fp;
BitNode * p;
BinTree root = NULL;
char c;
fp = fopen("D: \\text.txt","r");
if(!fp) {printf("\n 数据文件无法打开!");return 0;}
while(!feof(fp))
{
fscanf(fp,"%c",&c);
c=tolower(c);
CreatBinTree(&root,c);
}
printf("字符 出现次数\n");
Travel_tree(root);
do
{
printf("请输入要查询的字符:(输入'#'退出)\n");
scanf("%c",&c);
c = tolower(c);
p = Search_BST(&root,c);
if (p==NULL) printf("出现次数为:0\n");
else printf("出现次数为:%d\n",p->count);
fflush(stdin);
}while(c!='#');
fclose(fp);
return 0;
}
#include <ctype.h>
#include <stdio.h>
#include <malloc.h>
typedef struct node
{
char val;
int count;
struct node * lchild, * rchild;
}BitNode,* BinTree;
void CreatBinTree(BinTree * t,char ch)
{
BitNode *ptr, *p;
p=NULL;
ptr=*t;
while(ptr!=NULL)
{
if(ch==ptr->val)
{
ptr->count ++;
return;
}
else
{
p=ptr;
ptr=ch>ptr->val? ptr->rchild:ptr->lchild;
}
}
ptr=(BitNode *)malloc(sizeof(BitNode));
ptr->lchild=ptr->rchild=NULL;
ptr->val=ch;
ptr->count=1;
if(p==NULL) *t=ptr;
else if(ch>p->val) p->rchild=ptr;
else p->lchild=ptr;
}
void Travel_tree(BinTree t)
{
if(t == NULL) return;
Travel_tree(t->lchild);
printf("% 4c,% 9d\n",t->val,t->count);
Travel_tree(t->rchild);
}
BitNode * Search_BST(BinTree *t,char k)
{
BitNode *p;
p=*t;
while(p!=NULL&&p->val!=k)
{
if(k<p->val)p=p->lchild;
else p=p->rchild;
}
return (p);
}
int main()
{
FILE * fp;
BitNode * p;
BinTree root = NULL;
char c;
fp = fopen("D: \\text.txt","r");
if(!fp) {printf("\n 数据文件无法打开!");return 0;}
while(!feof(fp))
{
fscanf(fp,"%c",&c);
c=tolower(c);
CreatBinTree(&root,c);
}
printf("字符 出现次数\n");
Travel_tree(root);
do
{
printf("请输入要查询的字符:(输入'#'退出)\n");
scanf("%c",&c);
c = tolower(c);
p = Search_BST(&root,c);
if (p==NULL) printf("出现次数为:0\n");
else printf("出现次数为:%d\n",p->count);
fflush(stdin);
}while(c!='#');
fclose(fp);
return 0;
}

2024-06-11 广告
杭州景联文科技有限公司专注于大模型数据集的研发与应用。我们深知,在人工智能飞速发展的时代,数据是驱动模型优化的核心动力。因此,我们致力于构建丰富、多元的大模型数据集,涵盖各行各业,为AI模型提供充足的“养分”。通过不断积累与优化,我们的数据...
点击进入详情页
本回答由景联文科技提供
2009-12-16
展开全部
没声明的变量 'search_bst' : undeclared identifier 和 转换出错 convert from 'int' to 'struct node *'
自己好好看看这不有提示吗?太赖了吧你。
自己好好看看这不有提示吗?太赖了吧你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询