普通查找:
int find(int array[], int length, int data)
{
if(NULL == array || 0 == length)
return -1;
for(int i = 0; i < length; i++){
if(data == array[i])
return i;
}
return -1;
}
二分法(array[]为有序数组):
int binary_sort(int array[], int length, int data)
{
if(NULL == array || 0 == length)
return -1;
int start = 0;
int end = length -1;
while(start <= end){
int middle = (start+end)/2;
//int middle = start + ((end - start) >> 1);
if(data == array[middle])
return middle;
else if(data > array[middle]){
start = middle + 1;
}else{
end = middle -1;
}
}
return -1;
}