#include <stdio.h>
#include <iostream>
using namespace std;
int binary_search(int Array[], int n, int value)
{
int *pStart = Array;
int *pEnd = Array+n-1;
if(Array == NULL)
return -1;
while(pStart<=pEnd)
{
int *pMid = pStart + (pEnd - pStart)/2;
if(*pMid > value)
{
pEnd = pMid-1;
}
else if(*pMid < value)
{
pStart = pMid+1;
}
else
return (pMid - Array);
}
return -1;
}
int main()
{
int szArray[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
cout<<binary_search(szArray, 9, 1)<<endl;
cout<<binary_search(szArray, 9, 2)<<endl;
cout<<binary_search(szArray, 9, 3)<<endl;
cout<<binary_search(szArray, 9, 4)<<endl;
cout<<binary_search(szArray, 9, 5)<<endl;
cout<<binary_search(szArray, 9, 6)<<endl;
cout<<binary_search(szArray, 9, 7)<<endl;
cout<<binary_search(szArray, 9, 8)<<endl;
cout<<binary_search(szArray, 9, 9)<<endl;
cout<<binary_search(szArray, 9, 0)<<endl;
getchar();
return 0;
}
二分查找
最新推荐文章于 2024-11-11 07:04:17 发布