#include "stdio.h"
#include "string.h"
#define MAX_LIST 50
typedef struct _SqList {
int data[MAX_LIST];
int length;
}SqList;
int BinarySearch( SqList* L, int key )
{
int low = 0;
int high = L->length - 1;
int mid;
while( low <= high )
{
mid = ( low + high ) /2;
if( key < L->data[mid] )
high = mid - 1;
else if( key > L->data[mid] )
low = mid + 1;
else
return mid;
}
return MAX_LIST;;
}
int main()
{
SqList d;
int intarr[] = {1,10,23,48,65,67,78,79,98,100};
memcpy( d.data, intarr, sizeof(intarr));
d.length = sizeof(intarr)/sizeof(int);
int index = 0;
for( ; index < d.length; index++ )
printf(" %d", d.data[index] );
int key = 67;
printf("\nbinary search %d...\n", key);
index = BinarySearch( &d, key );
printf("%d is at position %d\n", key, index);
printf("\n");
return 0;
}
search - binary search
最新推荐文章于 2022-06-10 16:28:06 发布