二分法查找一个数字

#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;
}

相关文档
最新文档