【C语言】编写一个折半查找函数

原创 2016年05月30日 15:01:42
#include <stdio.h>
int zheban(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
		{
			return arr[mid];	
		}
	}
	return -1;
}
int main ()
{
	int	arr[8]={1,2,3,4,5,6,7,8};
	int size=sizeof(arr)/sizeof(arr[0])-1;
	int ret=zheban(8,arr,0,size);
	if(ret==-1)
	{
		printf("not exist!");	
	}
	else
	{
		printf("%d\n",ret);	
	}
	return 0;	
	
}


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

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

头文件   1. 函数原型 void * bsearch(const void * key, const void * base, size_t num, size_t size, int (...
  • songuooo
  • songuooo
  • 2012年08月06日 15:44
  • 2395

折半查找 c语言函数

  • 2009年02月01日 17:55
  • 336B
  • 下载

折半查找法的两种实现

折半查找法的两种实现 折半查找法: 在有序表中,把待查找数据值与查找范围的中间元素值进行比较,会有三种情况出现: 1)     待查找数据值与中间元素值正好相等,则放回中间元素值的索引。 2)...
  • toddhan
  • toddhan
  • 2012年09月04日 16:58
  • 49611

C语言-二分查找(折半查找)算法

1.折半查找算法 原理:取中间元素与查找元素进行比较,如果查找元素比中间元素大,则在中间元素右边查找,如果查找元素比中间元素小,则在中间元素的左边查找。 代码例子: #include /** * ...
  • XieEXiaoZhang
  • XieEXiaoZhang
  • 2016年04月03日 21:42
  • 13997

C语言 找数字,用(折半查找法或二分查找法)

找数字,用(折半查找法或二分查找法) 注意:基于 有序数组int main() { int arr[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int key = 1;...
  • Monster66jxx
  • Monster66jxx
  • 2016年09月25日 14:53
  • 3468

c语言程序折半查找算法

  • 2010年05月17日 11:46
  • 1KB
  • 下载

【C/C++】折半查找(二分查找)

一、二分查找 在C和C++里,二分查找是针对有序数组所用的一种快速查找元素的方法。 二、二分查找的条件以及优缺点 条件:针对有序数组(元素从小到大或从大到小) 优点:查询速度较快,时间复杂度为O(n)...
  • qq_31828515
  • qq_31828515
  • 2016年06月30日 17:34
  • 14634

C语言:折半查找的程序编写

# includeint binary_search(int arr[], int key, int left, int right) { while (left > 1); ...
  • qq_35032155
  • qq_35032155
  • 2017年04月08日 16:34
  • 1278

折半查找法---C语言实现

/********************************************************************************************* 函数名称:...
  • zhangyuehua123
  • zhangyuehua123
  • 2011年06月16日 11:23
  • 9687

折半查找的简单C语言算法

  • 2016年05月13日 18:37
  • 725B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【C语言】编写一个折半查找函数
举报原因:
原因补充:

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