#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//int main()
//{
// int a;
// int b;
// printf("请输入两个整数:\n");
// scanf("%d%d", &a, &b);
// float c = (float)a / b;
// printf("两数之和为a+b=%d\n", a + b);
// printf("两数之差为a-b=%d\n", a - b);
// printf("两数之积为a*b=%d\n", a * b);
// printf("两数之商为c=%f\n", c);
// return 0;
//}
int Binary_search(int arr[],int ret, int sz)
{
int left = 0;
int right = sz;
int z = sz / 2;
while (left <= right)
{
z = (right + left) / 2;
if (ret < arr[z])
{
right = z-1;
}
else if (ret > arr[z])
{
left = z+1;
}
else
{
return z;
}
}
return -1;
}
int main()
{
int ret;
int sz;
int g;
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
sz = sizeof(arr) / sizeof(arr[0]);
printf("请输入一个数字: \n");
scanf("%d", &ret);
if (-1 == Binary_search(arr,ret,sz))
{
printf("没找到\n");
}
else
{
g = Binary_search(arr, ret, sz);
printf("找到了,下标是:%d\n",g );
}
return 0;
}
二分查找
原创
©著作权归作者所有:来自51CTO博客作者三岁苦练道法的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:冒泡排序

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
javascript 二分查找 二分查找法 java
java 二分法查找
java 排序 算法 二分查找 有序表 -
二分查找
分查找算法的前置条件是,一个已经排序好的序列(在本篇文章中为了说明问题的方便,假设这个序列是升序排列的),这样在查找所要查找的元素时,首先与序列中间的...
二分查找算法 初始化 死循环 伪代码 迭代