1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
- | | ! - | | | | | | - | | | | | | | ! | !
struct { int key; int data; } table[100]; int n; int binary_search(int key) { int low, high, middle; low = 0; high = n-1; while(low <= high) { middle = (low + hight) /2 if(key == table[middle].key) return(table[middle].data); else if (key < table[middle].key) high = middle -1; else low = middle +1; } }