网站大量收购闲置独家精品文档,联系QQ:2885784924

《数据结构》实验报告查找.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数据结构》实验报告查找

实验四 ——查找 实验目的 掌握顺序表的查找方法,尤其是折半查找方法; 掌握二叉排序树的查找算法。 实验内容 建立一个顺序表,用顺序查找的方法对其实施查找; 建立一个有序表,用折半查找的方法对其实施查找; 建立一个二叉排序树,根据给定值对其实施查找; 对同一组数据,试用三种方法查找某一相同数据,并尝试进行性能分析。 实验预习内容 实验一包括的函数有:typedef struct ,创建函数void create(seqlist L),输出函数void print(seqlist L),顺序查找int find(seqlist L,int number),折半查找int halffind(seqlist L,int number) 主函数main(). 实验二包括的函数有:结构体typedef struct, 插入函数void insert(bnode * T,bnode * S),void insert1(bnode * T),创建函数void create(bnode * T),查找函数bnode * search(bnode * T,int number),主函数main(). 上机实验 实验一: 实验源程序。 #includeiostream.h #define N 80 typedef struct { int number; //关键字 char name[5]; char sex[2]; int age; }record; typedef struct { record stu[N]; int num;//记录人数 }seqlist; //建顺序表 void create(seqlist L) { int i; L.num=0; cout请依次输入(输入学号为0认定为终止输入):endl; cout学号\t姓名\t性别\t年龄endl; cinL.stu[1].number; for(i=1;L.stu[i].number!=0;) { cinL.stu[i].nameL.stu[i].sexL.stu[i].age; L.num++; coutendl; cinL.stu[++i].number; } } //输出学生信息 void print(seqlist L) { int i; cout学生基本信息为:endl; for(i=1;i=L.num;i++) cout\tL.stu[i].number\tL.stu[i].name\tL.stu[i].sex\tL.stu[i].ageendl; } //顺序查找 int find(seqlist L,int number) { int i; for(i=L.num;i=0;i--) if(L.stu[i].number==number) return i; } //折半查找 int halffind(seqlist L,int number) { int high=L.num,low=1,mid; for(;low=high;) { mid=(high+low)/2; if(number==L.stu[mid].number) return mid; else if(numberL.stu[mid].number) high=mid-1; else low=mid+1; } return 0; } void main() { int i,number; seqlist L; create(L); print(L); cout折半查找:endl; cout输入学生学号:; cinnumber; if((i=halffind(L,number))!=0) cout\tL.stu[i].number\tL.stu[i].name\tL.stu[i].sex\tL.stu[i].ageendl; else cout失败!endl; cout顺序查找:endl; cout输入学生学号:; cinnumber; if((i=find(L,number))!=0) cout\tL.stu[i].number\tL.stu[i].name\tL.stu[i].sex\tL.stu[i].ageendl; else cout失败!endl; } 实验二: #includeiostream.h typedef struct { int number; //关键字 char name[5]; char sex[2]

您可能关注的文档

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档