.写代码可以在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.(折半查找)C语言
2017-11-20 18:48
537 查看
#include<stdio.h>
int binary_search(int arr[], int k, int left, int right)
{
while(left <= right)
{
int mid=left+(right-left)/2;
if(arr[mid]==k)
return mid;
if(arr[mid]<k)
left=mid+1;
else
right=mid-1;
}
return -1;
}//定义一个函数int binary_search(int arr[], int k, int left, int right)用来进行查找数字
int main()
{
int arr[]={1,2,3,4,5,6,7,8,9,10};
int i = 0;
int sz =sizeof(arr)/sizeof(arr[0]);
int n = 4;
i = binary_search(arr,n,2,7);
if(i==-1)
{
printf("找不到\n");
}
else
{
printf("找到了,下标是%d\n",i);
}
return 0;
}
#include<stdio.h>
int binary_search(int arr[], int k, int left, int right)
{
while(left <= right)
{
int mid=left+(right-left)/2;
if(arr[mid]==k)
return mid;
if(arr[mid]<k)
left=mid+1;
else
right=mid-1;
}
return -1;
}//定义一个函数int binary_search(int arr[], int k, int left, int right)用来进行查找数字
int main()
{
int arr[]={1,2,3,4,5,6,7,8,9,10};
int i = 0;
int sz =sizeof(arr)/sizeof(arr[0]);
int n = 4;
i = binary_search(arr,n,2,7);
if(i==-1)
{
printf("找不到\n");
}
else
{
printf("找到了,下标是%d\n",i);
}
return 0;
}
相关文章推荐
- 写代码可以在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.(折半查找)
- 写代码可以在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.(折半查找)
- 写代码可以在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.(折半查找)
- 写代码可以在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.(折半查找)
- 写代码可以在整型有序数组中查找想要的数字,找到了返回下标,找不到返回 - 1.(折半查找)
- 写代码可以在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.(折半查找)
- 折半查找—写代码实现在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.
- 可以在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.(折半查找)
- 在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.(折半查找)
- 用折半查找法在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.
- 【C语言基础】写代码可以在整型有序数组中查找想要的数字(while循环,if条件语句)
- 折半查找------在一个升序的有序数组中查找某个具体的数字
- 折半查找------在一个升序的有序数组中查找某个具体的数字
- python实现:使用二分查找,查找有序数组中,一个数字最后出现的下标
- 程序员面试题目总结--数组(二)【二分查找、找出给定数字出现次数、两个有序整型数组交集、找出数组中唯一的重复元素、判断数组中的数值是否连续相邻】
- 二分查找 基于有序数组 返回下标
- 使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组
- 【C语言】折半查找----在一个游戏数组中查找具体的数字n。
- 在无重复数字的循环数组中查找给定数返回其下标
- LeetCode 34 Search for a Range (有序数组中查找给定数字的起止下标)