#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int num = 2;
int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int lead = 0;
int read = sizeof(arr)-1;
while (lead < read) //这里的判断条件用的是小于,而不是小于等于
{
int mid = (lead + read) / 2;
if (num > arr[mid])
{
lead = mid + 1;
}
else if (num < arr[mid])
{
read = mid;
}
else if (num = arr[mid])
{
printf("%d", mid);
break;
}
if(lead=read) //判断完前面之后,要是在lead<read的时候没有,找到这个数字,那么当他们俩相等的时候就说明你查找的区域没有你要找的数字
{
printf ("没找到这个数字");
}
system("pause");
return 0;
}
二分法查找一个数字
猜你喜欢
转载自blog.csdn.net/weixin_43767691/article/details/88431743
今日推荐
周排行