#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int binary_search(int arr[], int k,int sz)
{
int left = 0;
int right = sz - 1;
while (left <= right)
{
int mind = (left + right) / 2;
if (k < arr[mind])
{
right = mind - 1;
}
else if (k > arr[mind])
{
left = mind + 1;
}
else
return mind;
}
if (left > right)
return 1;
}
int main()
{
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
//数据库
int k = 0;
printf("请输入想查找的数字:\n");
scanf("%d", &k);
int sz = sizeof(arr)/sizeof(arr[0]);
int ret = binary_search(arr, k,sz);
if (ret != 1)
{
printf("找到了,下标是:%d",ret);
}
else
{
printf("没找到\n");
}
return 0;
}
用二分法从数据库中找数字
最新推荐文章于 2024-09-15 04:17:06 发布