|
#include
<stdio.h>
struct temp {
int data[10];
int lenght;
};
int cc(struct temp
*t,
int tmp[],
int n)
{
int i, ret
= 0;
t->lenght
= 0;
for (i
= 0; i < n; i++)
{
t->data[t->lenght++]
= tmp[i];
}
putchar('\n');
}
int search(struct temp
*t,
int min,
int max,
int n)
{
int mid;
if (min
< max)
{
mid = (min
+ max)
/ 2;
if (n
== t->data[mid])
{
return 0;
}
else if
(n < t->data[mid])
{
search(t,
min, mid-1, n);
}
else if
(n > t->data[mid])
{
search(t, mid+1,
max, n);
}
}
return -1;
}
int main(void)
{
int ret = 0;
struct temp tvn;
int data[10]
= {2, 3, 6, 7, 12,
14, 15, 16, 22, 34};
cc(&tvn, data, 10);
ret = search(&tvn, 0, 10,
34);
if (ret
> 0)
{
putchar('o');
puthcar('k');
}
|