1 / 6
文档名称:

折半查找顺序查找.doc

格式:doc   大小:17KB   页数:6页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

折半查找顺序查找.doc

上传人:wxc6688 2019/12/1 文件大小:17 KB

下载得到文件列表

折半查找顺序查找.doc

相关文档

文档介绍

文档介绍:折半查找顺序查找《计算机科学与技术》专业实验报告书第7次实验塔里木大学信息工程学院《数据结构》课程第7次实验报告学号实验室号班别组号计算机号年月日日期姓名成绩评定实验老师签名朱赖红静态查找表名称所用硬件:实验室PC机一台;设备操作系统:MicrosoftWindowsXPProfessional;及实现平台:MicrosoftVisualC++。软件实通过本次实验,要求同学们熟悉MicrosoftVisualC++;理解查找的验概念;掌握顺序查找和二分查找。目的或要求实验过(1)顺序查找程(2)二分查找及步骤折半查找#include<>#defineN21voidmain(void){inta[N];inti,n,num;inttop,bottom,mid;intflag=1;//如果在表列中找到数字,则值为1,否则为0intloc=-1;//要查找的数在表列中的位置,如果loca=-1表示表列中没有这个数;如果有实这个数,则它的值为所在的位置printf("你想在多少个数中进行折半查找,请输入(1--20):");scanf("%d",&n);验while(n<1||n>20){printf("你输入的数不正确,请重新输入。\n");分printf("你想在多少个数中进行折半查找,请输入(1--20):");scanf("%d",&n);}析printf("请你输入一个整数a[1]:");scanf("%d",&a[1]);i=2;while(i<=n)//输入从小到大的表列{printf("请你输入一个整数a[%d]:",i);scanf("%d",&a[i]);if(a[i]>a[i-1])i++;elseprintf("你输入的数不满足要求,请重新输入。\n");}//输出表列printf("\n输出表列\n");for(i=1;i<=n;i++){printf("%6d",a[i]);}printf("\n");printf("请你输入要查找的数:");scanf("%d",&num);flag=1;//假设输入的数在表列中top=n;bottom=1;mid=(top+bottom)/2;while(flag){printf("top=%d,bottom=%d,mid=%d,a[%d]=%d\n",top,bottom,mid,mid,a[mid]);if((num>a[top])||(num<a[bottom]))//输入的数num>a[top]或者num<a[bottom],肯定num不在这个表列中{loc=-1;flag=0;}elseif(a[mid]==num)//如果num等于找到的数{loc=mid;printf("找到数%6d的位置%