#include "stdafx.h"
#include <IOSTREAM>
using namespace std;
int find(int,int[],int);
int main(int argc, char* argv[])
{
int a[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14}; //必须是排列好的顺序的数组
cout<<"5在数组a中的位置:"<<find(5,a,14)<<endl;
cout<<"9在数组a中的位置:"<<find(9,a,14)<<endl;
return 0;
}
int find(int num,int a[],int n)
{
int low=0,height=n-1,middle;
while(low<=height)
{
middle=(low+height)/2;
if(a[middle]==num)
return middle;
if(a[middle]<num)
low=middle+1;
else height = middle-1;
}
return n;
}
#include <IOSTREAM>
using namespace std;
int find(int,int[],int);
int main(int argc, char* argv[])
{
int a[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14}; //必须是排列好的顺序的数组
cout<<"5在数组a中的位置:"<<find(5,a,14)<<endl;
cout<<"9在数组a中的位置:"<<find(9,a,14)<<endl;
return 0;
}
int find(int num,int a[],int n)
{
int low=0,height=n-1,middle;
while(low<=height)
{
middle=(low+height)/2;
if(a[middle]==num)
return middle;
if(a[middle]<num)
low=middle+1;
else height = middle-1;
}
return n;
}