数据结构案例学习-二分法数组找元素位置
代码如下
# include <stdio.h>
int main(void)
{
int left = 0, right = 80, n = 0;
int mid, i, num = 30;
int a[81]; //定义数组大小
mid = (left + right)/2;//定义中间比较值的下标
for(i = 0; i <= 80; i++)//数组元素顺序赋值
{
a[i] = i; }
while(num != a[mid] )//循环直到与比较值相等
{
mid = (left + right)/2;
n++; //比较次数
if(a[mid] == num)
{
break; }
else if (a[mid] < num)//值在左边区间
{
left = mid++; }
else
{
right = mid--; }
}
printf("%d, num = %d\n",n,a[mid]);
return 0;
}

浙公网安备 33010602011771号