数组二分法查找数据

#include "stdafx.h"
#include
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中的位置:"< cout<<"9在数组a中的位置:"<

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] low=middle+1;
else height = middle-1;
}


return n;
}

你可能感兴趣的:(c++基础)