.编写折半查找函数。

原创 2016年05月30日 15:01:09
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int arr[]= {1,3,5,13,23,24,35,200};
	int ret= binsearch(1,arr,0,sizeof(arr)/sizeof(arr[0])-1);
	if(ret==-1)
	{
		printf("not exist");	
	}
	else
	{
		printf("%d\n",ret);
	}
	return 0;
}
int binsearch(int x,int arr[],int left,int right)
{	
	while(left<=right)
	{
		int mid=left-(left-right)/2;
		if(x<arr[mid])
		{
			right=mid-1;	
		}
		else if(x>arr[mid])
		{
			left=mid+1;	
		}
		else if(x==arr[mid])
		{
			return arr[mid];
		}	
	}
	return -1;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C/C++折半查找函数bsearch

头文件   1. 函数原型 void * bsearch(const void * key, const void * base, size_t num, size_t size, int (...

Java基础——函数+数组概述+数组操作(获取最值_排序_折半查找+进制转换)

1.       函数 什么是函数? •函数就是定义在类中的具有特定功能的一段独立小程序。 •函数也称为方法。 函数的格式: •修饰符返回值类型函数名(参数类型形式参数1,参数类型形式参数2, ) {...

【笔记】用函数实现折半查找

用折半查找数组中是否有某个元素效率是很高的,它是通过定义左右两个下标,每次用数组中间的元素与要找的元素进行大小比较,若不相等,则修改左下标,或者右下标, 以此类推当左下标小于等于右下标时一直循环查找。...

练习 3-1 在上面有关折半查找的例子中,while循环语句内共执行了两次测试,其实只要一次就足够(代价是将更多的测试在循环外执行)。重写该函数,使得在循环内部只执行一次测试。

在上面有关折半查找的例子中,while循环语句内共执行了两次测试,其实只要一次就足够(代价是将更多的测试在循环外执行)。重写该函数,使得在循环内部只执行一次测试。比较两种版本函数的运行时间。

VB 编写折半查找过程

  • 2010-06-07 15:13
  • 38KB
  • 下载

用c语言编写折半查找法

折半查找法又称为二分查找,是在一个有序数组里面找到一个具体的数,方法我在代码里注释到了。 #include int binary_search(int *arr, int key, int sz...

折半查找用简单的C语言编写

代码如下:#include void search(int arr[],int left,int right,int num) { int mid=0; while(left>1); i...

折半查找算法

  • 2014-09-26 13:01
  • 20KB
  • 下载

java 折半查找法 txt代码

  • 2014-04-25 23:20
  • 886B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)