#include <stdio.h>
/*
要执行以下代码实现二分法查找首先要保证数组有序排列,
如果查找到目标元素则返回该元素在数组中的下标号,否则打印找不到的信息。
*/
int main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
int k = 7;
int left = 0;
int right = 0;
int mid = 0;
int sz = sizeof(a)/sizeof(a[0]); //求出数组元素个数
right = sz - 1; //定位到数组的最后一个元素
while(left <= right)
{
mid = (left + right)/2;
if(k < a[mid]) //查找的目标元素在当前所指元素的左边
{
right = mid-1;
}
else if(k > a[mid]) //要要查的目标元素在当前所指元素的右边
{
left = mid+1;
}
else
{
printf("找到了,下标为:%d\n",mid);
break;
}
}
if(left > right)
{
printf("数组中无该元素!\n");
}
return 0;
}
C语言实现二分法查找排序
最新推荐文章于 2023-04-16 18:53:15 发布