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));


}

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 布拉怡 的頭像
    布拉怡

    nini的部落格

    布拉怡 發表在 痞客邦 留言(0) 人氣()