用C語言折半查詢一個數的位置
阿新 • • 發佈:2020-12-15
技術標籤:c語言
用C語言折半查詢一個數的位置
#include<stdio.h>
int main()
{
int arr[]={3,5,6,9,12,15,17,19,20,25};
int key;
scanf("%d",&key);//輸入查詢的元素
int low=0;
int high=(sizeof(arr)/sizeof(arr[0]))-1;//陣列最後一個元素的地址
int mid;//陣列中間元素的地址
while(low<=high)
{
mid=(high+low)/2;
if(arr[mid]==key)
{
printf("找到了%d",mid);
return 0;
}
else if(arr[mid]<key)//在右邊
{
low=mid+1;
}
else
{
high=mid-1;
}
}
return 0;
}
程式碼執行如下: