- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验六 查找
//顺序查找和二分查找
#include stdio.h
#include stdlib.h
#define N 20
typedef struct
{
int Key;
}ElemType;
typedef struct SSTable {
ElemType *elem;
int length;
}SSTable;
int Search_Seq(SSTable ST,int Key)
{
int i;
ST.elem[0].Key=Key;
for(i=ST.length;ST.elem[i].Key!=Key;i--);
return i;
}
int Search_Bin(SSTable ST,int Key)
{
int low=1;
int high=ST.length;
int i,mid;
while(low=high)
{
mid=(low+high)/2;
if(ST.elem[mid].Key==Key)
return mid;
else if(KeyST.elem[mid].Key)
high=mid-1;
else
low=mid+1;
}
return 0;
}
void main()
{
SSTable ST;
ST.elem=(ElemType *)malloc(N*sizeof(ElemType));
if(!ST.elem)
exit(0);
int len;
printf(请输入查找表的长度:);
scanf(%d,len);
int i;
for(i=1;i=len;i++)
{
printf(请输入表中第%d个元素:,i);
scanf(%d,ST.elem[i].Key);
}
ST.length=len;
int key=0;
while(key!=-1)
{
printf(请输入你要查找的关键字:);
scanf(%d,key);
printf(顺序查找的查找结果为: %d\n,Search_Seq(ST,key));
printf(二分查找的查找结果为:%d\n,Search_Bin(ST,key));
}
}
//二叉排序树上的查找
#include stdio.h
#include stdlib.h
typedef int KeyType;
typedef struct node{
KeyType key;
struct node *lchild,*rchild;
}BiTNode,*BiTree;
void InsertBST(BiTree bst,KeyType key)
{
BiTNode *t;
if(bst==NULL)
{
t=(BiTree)malloc(sizeof(BiTNode));
t-key=key;
t-lchild=NULL;
t-rchild=NULL;
bst=t;
}
else if(keybst-key)
InsertBST(bst-lchild,key);
else if(keybst-key)
InsertBST(bst-rchild,key);
}
void CreateBST(BiTree bst)
{
int i;
int n;
KeyType key=0;
bst=NULL;
printf(请输入二叉排序树中元素的个数:);
scanf(%d,n);
for(i=1;i=n;i++)
{
printf(请输入二叉排序数中的第%d个元素:,i);
scanf(%d,key);
InsertBST(bst,key);
}
}
BiTree SearchBST(BiTree bst,KeyType key)
{
if(!bst)
return NULL;
else if(bst-key==key)
return bst;
else if(keybst-key)
return SearchBST(bst-lchild,key);
else
return SearchBST(bst-rchild,key);
}
void main()
{
BiTree bst;
CreateBST(bst);
KeyType temp;
printf(请输入你要查找的元素:);
scanf(%d,temp);
BiTree T;
T=SearchBST(bst,temp);
if(T==NULL)
printf(\n\n查找失败\n);
else
{
printf(\n\n查找成功\
您可能关注的文档
- 人教版九年级英语Unit 1How can we become good learners重点解析.ppt
- 人教版九年级英语Unit 2 教案.doc
- 人教版九年级英语Unit 3教案.doc
- 人教版九年级英语Unit 13 section B完整版.ppt
- 人教版九年级英语Unit13 sectionA.ppt
- 人教版九年级英语Unit13 sectionB.ppt
- 数据化产品运营第三篇之数据化产品定价与库存预估.doc
- 数据恢复服务单.doc
- 数据恢复工具R-Studio使用教程.pdf
- 数据机房巡检机器人应用方案.pdf
- 2024年度民主生活会个人对照检查材料(带头增强党性、严守纪律、砥砺作风方面)+带头增强党性、严守纪律、砥砺作风方面存在的主要问题.doc
- 2024-2025年民主生活会、组织生活会的批评与自我批评+民主生活会会前集中学习研讨体会.doc
- 市委书记在2025年中秋国庆节前廉政谈话会上的讲话在2025年中秋国庆节前廉政谈话.doc
- 2024年度民主生活会存在问题及不足之处+2024年度民主生活会“向下”批评意见清单.doc
- 2篇 2024年民主生活会个人对照检查发言材料(四个带头).doc
- 范文 在2025年春节前廉政谈话暨春节期间重点工作部署会议上的讲话.doc
- 2024-2025年关于意识形态专题党课讲稿、宣讲报告.doc
- 区长、局一把手2024年个人政治画像报领导干部政治画像自评材料.doc
- 理论武装方面存在问题及整改措施+第二批主题教育六个方面问题查摆、原因分析、整改措施.docx
- 2024年度民主生活会领导班子对照检查材料(四个带头)+带头增强党性、严守纪律、砥砺作风方面存在的主要问题.doc
文档评论(0)