数据结构折半查找

时间:2026-01-19   来源:未知    
字号:

数据结构折半查找问题

实 验 报 告

课 程 名 称: 上机实验名称: 专 业 班 级:

指 导 教 师:

学 生 姓 名:

学 期: 数据结构 折半查找 2013-2014第二学期

数据结构折半查找问题

实 验 报 告

课程名称 数据结构 实验名称 折半查找问题 姓 名 学 号 专业班级

实验日期 2014 年 4月 29 日 成绩 指导教师 实验题目:

6-16 折半查找问题。要求:

(1) 设计折半查找问题的递归函数。

(2) 设计折半查找问题的循环结构函数。

(3) 设计测试主函数,测试例子至少包括一个查找成功的例子和一个查找不成功的例子。 实验源代码:

#include<stdio.h>

Bsearch(int a[],int x,int low,int high)

{

int mid;

mid=(low+high)/2;

if(low>high) return -1;

if(x==a[mid]) return mid;

else if(x>a[mid]) return Bsearch(a,x,mid+1,high);

else if(x<a[mid]) return Bsearch(a,x,low,mid-1);

}

search(int a[],int y,int low,int high)

{

int mid;

mid=(low+high)/2;

数据结构折半查找问题

while(y!=a[mid])

{

if(y>a[mid]) low=mid+1;

else high=mid-1;

if(low>high) return -1;

mid=(low+high)/2;

}

return mid;

}

void main()

{

int a[]={1,3,5,7,10,13,24,45};

int x,y;

printf("数组元素为 1,3,5,7,10,13,24,45\n");

printf("用递归函数折半查找\n");

scanf("%d",&x);

int vt;

vt=Bsearch(a,x,0,7);

if(vt==-1) printf("输入参数错!\n");

else printf("输入参数在数组中的下标值为:%d\n",vt); printf("第二次判断\n");

数据结构折半查找问题

scanf("%d",&x);

vt=Bsearch(a,x,0,7);

if(vt==-1) printf("输入参数错!\n");

else printf("输入参数在数组中的下标值为:%d\n",vt); printf("用循环结构函数折半查找\n");

scanf("%d",&y);

int vb;

vb=search(a,y,0,7);

if(vb==-1) printf("输入参数错!\n");

else printf("输入参数在数组中的下标值为:

printf("第二次判断\n");

scanf("%d",&y);

vb=search(a,y,0,7);

if(vb==-1) printf("输入参数错!\n");

else printf("输入参数在数组中的下标值为:

}

实验结果 %d\n",vb); %d\n",vb);

数据结构折半查找问题

实验感悟:

经过这次上机实验,让我更加喜欢上了数据结构,让我对数据结构了更深一层的了解,人们常说实践很重要,正所谓“实践出真知”对计算机这个行业来说更是如此,百炼才能成钢 我们不能总停在书本上的知识 更要注重实践演练,越练才更能牢固并熟练掌握我们所学的知识,我们所学的将来是要运用到实际应用中的,而并不是要求我们

数据结构折半查找问题

死记住就行的,所以经过这次上机实验我以后更要注重实践,要多练多实践。

数据结构折半查找.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
    × 游客快捷下载通道(下载后可以自由复制和排版)
    VIP包月下载
    特价:19 元/月 原价:99元
    低至 0.1 元/份 每月下载300
    全站内容免费自由复制
    VIP包月下载
    特价:19 元/月 原价:99元
    低至 0.1 元/份 每月下载300
    全站内容免费自由复制
    注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
    × 常见问题(客服时间:周一到周五 9:30-18:00)