close
//while binary search
#include <stdio.h>
/*binary search 使用while loop */
int binarysearch(int *list,int middle,int left,int right,int key)
{
while(left<right)
{
if(key==list[middle])
{
return middle;
}
else if(key<list[middle])
{
right=middle;
middle=(left+right)/2;
}
else
{
left=middle;
middle=(left+right)/2;
}
}
return printf("失敗?!!\n");
}
int main()
{
int list[10]={12,23,45,67,89,90,76,89,94,99};
int left=0;
int right=9;
int middle=(left+right)/2;
printf("請輸入key:\n");
int key;
scanf("%d",&key);
printf("key:%d在第%d個位置",key,binarysearch(list,middle,left,right,key));
}
全站熱搜