利用递归实现折半查找的C++源程序,快速查找一个数在数列中的位置。(数列与被查找数自行从键盘输入。)
具体源代码!~
利用递归实现折半查找的C++源程序,快速查找一个数在数列中的位置。(数列与被查找数自行从键盘输入。)
具体源代码!~
#include <stdio.h>
int search(int low,int high,int n,int num[]);
void main()
{
int i,n,num[20];
for (i=0;i<=19;i++)
{
num[i]=i+10;
printf("%d ",num[i]);
}
printf("输入要查找的数:");
scanf("%d",&n);
printf("%d\n",search(0,19,n,num));
}
int search(int low,int high,int n,int num[])
{
int mid;
mid = (low+high)/2;
if (n==num[mid])
return mid;
else if(n>num[mid])
search(mid+1,high,n,num);
else
search(low, mid-1,n,num);
}
给分!!!