二分查找
#include <stdio.h> int main(void) { int array[10] = {4, 12, 24, 36, 47, 58,59, 66, 77, 87}; int l =0, r= 9; int a = 87; while(1) { if(a >array[(l+r)/2]) l = (l+r)/2+1; if(a < array[(l+r)/2]) r = (l+r)/2-1; if(a == array[(l+r)/2]) { printf("data = %d\n", array[(l+r)/2]); break; } } return 0; }
浙公网安备 33010602011771号