二分法查找一个数字

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include

using namespace std;

void main()

{

int i=1,item,flag=0;

int Start=0,Finish=1000;

int table[1000];

for(i=Start;i<=Finish;i++)

{

table[i]=i;

cout<
}

cout<
cout<<"请输入你要查找的数:"<
cin>>item;

i=Finish-Start;

while((Finish-Start)>1&&table[i]!=item)

{

if (table[i]
if (table[i]>item) Finish=i-1;

i=Finish-Start;

}

if(table[i]==item)

{

cout<<"数字已经找到!"<
}

else

{

cout<<"没有找到!"<
}

}

第二种:

#include

using namespace std;

void main()

{

int i=1,item,flag=0;

int Start=0,Finish=10;

int table[10];

cout<<"请输入你的数字"<
for(i=0;i<10;i++)

{

cin>>table[i];

}

cout<
cout<<"请输入你要查找的数:"<
cin>>item;

i=Finish-Start;

while((Finish-Start)>1&&table[i]!=item)

{

if (table[i]
if (table[i]>item) Finish=i-1;

i=Finish-Start;

}

if(table[i]==item)

{

cout<<"数字已经找到!"<
}

else

{

cout<<"没有找到!"<
}

}
算法~~~~~~~~~~~~~~~~~~~~~~~~~~~!
#include
using namespace std;
int cz (int a[],int k,int n)
{
int low=0,high=n-1;
while(low<=high)
{
int mid=(low+high)/2;
if(k==a[mid])
return mid;
else if(khigh=mid-1;
else low=mid+1;
}
return -1;
}

相关文档
最新文档