早教吧作业答案频道 -->英语-->
顺序表{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}当用折半查找,查关键字1,8,17时比较次序分别为(),(),().
题目详情
顺序表{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}当用折半查找,查关键字1,8,17时比较次序分别为(),(),().
▼优质解答
答案和解析
//实现过程如下:
#include
using namespace std;
int a[]={1,2,3,4,5,5,7,8,9,10,11,12,13,14,15};
int b[10];
int Binary_Search(int num)
{
int l=0;
int r=14; //最后一个数的下标
int mid;
int ans=0;
while(l<=r)
{
mid=(l+r)/2;
b[ans]=a[mid];
ans++;
if(a[mid]==num) return ans;
else if(a[mid] else r=mid-1;
}
return ans;
}
int main()
{
int n;
while(cin>>n)
{
int t=Binary_Search(n);
cout<<"比较次数为: "< cout<<"依次比较的数为:";
for(int i=0;i cout<<'\n';
}
return 0;
}
//答案为4 1 4
#include
using namespace std;
int a[]={1,2,3,4,5,5,7,8,9,10,11,12,13,14,15};
int b[10];
int Binary_Search(int num)
{
int l=0;
int r=14; //最后一个数的下标
int mid;
int ans=0;
while(l<=r)
{
mid=(l+r)/2;
b[ans]=a[mid];
ans++;
if(a[mid]==num) return ans;
else if(a[mid]
}
return ans;
}
int main()
{
int n;
while(cin>>n)
{
int t=Binary_Search(n);
cout<<"比较次数为: "<
for(int i=0;i
}
return 0;
}
//答案为4 1 4
看了 顺序表{1,2,3,4,5,...的网友还看了以下:
在顺序表(3,6,8,10,l2,15,16,18,21,25,30)中,用二分法查找关键码值21, 2020-05-23 …
在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值21, 2020-05-23 …
( 3 ) 在顺序表 ( 3 , 6 , 8 , 10 , 12 , 15 , 16 , 18 , 2020-05-23 …
在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值21, 2020-05-23 …
在顺序表(3,6,8,10,12,15,16,18,21,25,30) 中,用二分法查找关键码值11 2020-05-23 …
在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值12, 2020-05-24 …
在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值11, 2020-05-24 …
在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分查找关键码值12,所 2020-05-24 …
在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值 11 2020-05-24 …
在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找键码值11需要 2020-05-24 …