Content deleted Content added
No longer an orphan. You can help: WikiProject Orphanage. |
→C implementation: syntax highlight |
||
Line 7:
The uniform [[binary search algorithm]] looks like this, when implemented in [[C (programming language)|C]].
<!-- Please don't break this code. Test before editing! -->
<source lang="c">
▲ #define LOG_N 4
▲ static int delta[LOG_N];
int power = 1;
▲ void make_delta(int N)
▲ {
do
int
delta[i]
} while (delta[i++]
▲ }
▲ int unisearch(int *a, int key)
▲ {
▲ int i = delta[0]-1; /* midpoint of array */
while
if (key == a[i]) {
} else if (
if
}
▲ }
▲ }
▲ /* Example of use: */
▲ #define N 10
▲ int main(void)
▲ {
for (i=0; i < 20; ++i)
▲ int i, a[N] = {1,3,5,6,7,9,14,15,17,19};
printf("%d is at index %d\n", i, unisearch(a, i));▼
▲ make_delta(N);
return
▲ printf("%d is at index %d\n", i, unisearch(a, i));
</source>
▲ return 0;
▲ }
==References==
|