- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构实验报告
实验名称:
实验四:查找
实验时间:2010年11月5日
专业班级:
姓 名:
学 号:
指导老师:
实验目的
掌握基本查找技术的原理及其实现方法,对于不同的要求,能选择比较合理的查找算法,得到初步的算法分析的训练,提高算法设计的能力。
实验内容
定义顺序表;
顺序查找;
折半查找;
实验步骤、实验方法、源程序以及效果图
实现的主要原代码:、
#include iostream
using namespace std;
#define MaxSize 100 // 用于定义表的最大长度
typedef int KeyType;
typedef struct{
KeyType key; //关键字域
char name[10];
int student_number;
int maths; //其他域
int english;
}ElemType; //数据元素类型的定义
//-------------静态查找表顺序存储结构----------------------
typedef struct {
ElemType elem[MaxSize]; //数据元素存储空间
int length; //当前长度
}SSTable;
//-------------顺序查找函数------------------------------------
int Search_Seq(SSTable ST,KeyType key)
{
int i=1;
while (i=ST.length(ST.elem[i].key!=key))
i++;
if (i=ST.length) return i;
else return 0;
}
//-----------折半查找函数-----------------------------------------
int Search_Bin(SSTable ST,KeyType key)
{
int left,middle,right;
left=1;right=ST.length;
while(left=right){
middle=(left+right)/2;
if (key==ST.elem[middle].key) return middle;
else if(keyST.elem[middle].key) right=middle -1;
else left=middle +1;
}
}
main()
{
ElemType stu[50];
SSTable m;
int j;
cout请输入数据表的长度:\nendl;
cinm.length;
for (int i=1;i=m.length;i++)
{
cout请输入主关键字的值:\n;
cinm.elem[i].key;
cout请输入学生姓名:\n;
cinm.elem[i].name;
cout请输入学生学号:\n;
cinm.elem[i].student_number;
cout请输入英语:\n;
cinm.elem[i].english;
cout请输入数学:\n;
cinm.elem[i].maths ;
coutendl;
}
cout这个数据表有m.length 个元素\n;
KeyType k;
cout请输入你要寻找的数据:endl;
cink;
i=Search_Seq(m,k);
j=Search_Bin(m,k);
cout你用顺序寻找的数据的位置是:iendl;
cout你用二分法寻找的数据的位置是:jendl;
cout你用顺序寻找的学生姓名是:m.elem[i].nameendl;
cout你用二分法寻找的
文档评论(0)