Subj : [C] Search for the nearest item by bsearch? To : comp.programming From : Davy Date : Sun Jul 24 2005 06:12 am For example, I have a vector: double vector[LENGTH]={1.11,2.38,4,53,17.14...,89.12,91.34} And if the Key I want is 5.2, the nearest item will be 4,53. I found that if the STEP of the vector is constant, something like {1.1,1.2,1.3,1.4,...} the compare function will be int compare (const void * a, const void * b) { if (( *(double*)a - *(double*)b )>STEP/2) return 1; else if (( *(double*)a - *(double*)b )<-STEP/2) return -1; else return 0; } But if the STEP of the vector isn't constant, how to get the compare function? Any suggestions will be appreciated! Best regards, Davy .