//折半查找
#include<stdio.h>
#define N 10
void main(){
int i = 0,bott,top,mid,flag = 1,a[N],num;
printf("输入数组数据:");
scanf("%d",&a[i++]);
while(i < N){
scanf("%d",&a[i]);
if(a[i] > a[i-1])
i++;
else
printf("请按照排列顺序输入数据:\n");
}
for(i = 0;i < N;i++)
printf("%-4d",a[i]);
printf("\n");
printf("输入需要查找的数据:");
scanf("%d",&num);
i = 0;
bott = 0;
top = N-1;
while(flag && top > bott){
mid = (bott + top) / 2;
if(num > a[mid])
bott = mid;
else if(num < a[mid])
top = mid;
else if(num == a[mid])
flag = 0;
i++;
}
if(flag == 0)
printf("%d\n",i);
else
printf("Not Found!\n");
}
用C语言实现折半查找
最新推荐文章于 2021-05-17 23:24:00 发布