网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

折半查找

function binsearch(k:keytype):integer;

var low,hig,mid:integer;


参考答案

更多 “ 折半查找function binsearch(k:keytype):integer;var low,hig,mid:integer; ” 相关考题
考题 N个有序整数数列已放在一维数组中,给定下列程序中,函数fun()的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,则返回其下标值:反之,则返回-1。折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(low<high),然后把m与中间位置(mid)中元素的值进行比较。如果m的值大于中间位置元素中的值,则下一次的查找范围放在中间位置之后的元素中;反之,下次查找范围落在中间位置之前的元素中。直到low>high,查找结束。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include <stdio.h>define N 10/*************found*********************/void fun(int a[],int m){ int low--0,high=N-l,mid;while (low<=high){ mid=(low+high)/2;if(m<a[mid])high=mid-1;/*************found*********************/else if(m>=a [mid])low=mid+1;else return(mid);}return(-1);}main (){ int i,a[N]={-3,4,7,9,13,24,67,89,100,180},k,m;printf ("a数组中的数据如下: ");for(i=0;i<N;i++) printf("%d",a[i]);printf ("Enter m: "); scanf ("%d", m);k=fun (a,m);if (k>=0) printf ("m=%d, index=%d\n",m, k);else printf("Not be found!\n");}

考题 以下所列的各函数首部中,正确的是______。A.void play(var:Integer,var b:Integer)B.void play(int a,b)C.void play(int a,int b)D.Sub play(a as integer,b as integer)

考题 四、排序算法A.快速排序:procedure qsort(l,r:integer);var i,j,mid:integer;

考题 已知前序中序求后序procedure Solve(pre,mid:string);var i:integer;

考题 已知中序后序求前序procedure Solve(mid,post:string);var i:integer;

考题 阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明]已知r[1...n]是n个记录的递增有序表,用折半查找法查找关键字为k的记录。若查找失败,则输出“failure",函数返回值为0;否则输出“success”,函数返回值为该记录的序号值。[C函数]int binary search(struct recordtype r[],int n,keytype k){ intmid,low=1,hig=n;while(low<=hig){mid=(1);if(k<r[mid].key) (2);else if(k==r[mid].key){printf("succesS\n");(3);}else (4);}printf("failure\n");(5);}

考题 下列各函数首部中,正确的是()。A.void play(var :Integer, var b:Integer)B.void play(int a, b)C.void play(int a, int b)D.Sub play(a as integer, b as integer)

考题 设low和high分别是在有序表中折半查找的指针,如果查找的关键字key小于low和high的中间值mid所指的关键字,则正确缩小查找区间的是()。A.high=midB.high=mid-1C.low=mid+1D.low=mid

考题 设low和high分别是在有序表中折半查找的指针,如果查找的关键字Key大于low和high的中间值mid所指的关键字,则正确缩小查找区间的是()。A.high=mid+1B.high=midC.low=mid+1D.low=mid