1. 程式人生 > >二叉搜尋法(在排序好的情況下)

二叉搜尋法(在排序好的情況下)

#include <stdio.h>
#include <stdlib.h>

int BinarSearch(int a[],int x,int n)
{
int left=0;
int right =n-1;
while(left<=right)
{
int middle =(left+right)/2;
if(x==a[middle])return middle;
if(x>a[middle])left =middle+1;
else right =middle -1;
}
return -1;

}

int main()
{
printf(“Hello world!\n”);
int a[100]={1,2,5,8,12,15,16,18,20,22};
for(int i=0;i<10;i++)
printf("%d",a[i]);
printf("\n");
int j = BinarSearch(a,12,10);
printf("%d",a[j]);

return 0;

}