#include<iostream>
using namespace std;
void mid_check(int num,int top,int bottom,int a[]);
int main()
{
int a[8];
cout<<"请输入8个数字由校小到大"<<endl;
for(int i=0;i<=7;i++)
{
cin>>a[i];
}
int bottom=sizeof(a)/sizeof(int)-1;
cout<<"请输入你要输入的数字"<<endl;
int num,top=0;
cin>>num;
mid_check(num,top,bottom,a);
}
void mid_check(int num,int top,int bottom,int a[])
{
int mid=(top+bottom)/2;
while(top<=bottom)
{
if(a[mid]==num)
{
cout<<"找到了,这个数字位于数组的第"<<mid+1<<"个位置"<<endl;
return ;
}
else if(num<a[mid])
{
mid_check(num,top,mid-1,a);
return ;
}
else
{
mid_check(num,mid+1,bottom,a);
return ;
}
}
cout<<"没有找到昂"<<endl;
}
二分法查找的递归算法
最新推荐文章于 2024-02-29 18:01:04 发布