【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语言】折半查找----在一个游戏数组中查找具体的数字n。

折半查找—-在一个游戏数组中查找具体的数字n。 编写int binsearch(int x,int v[],int n); Data为要查找的数组,x为查找数据值,start为查找范围起始,end...

用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...

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

  • 2016年05月13日 18:37
  • 725B
  • 下载

顺序表的折半查找(C语言)

  • 2008年12月16日 20:58
  • 25KB
  • 下载

黑马程序员——c语言基础:冒泡排序、选择排序和折半查找

1.冒泡排序 冒泡排序是一种简单的排序算法,分为大数下沉和小数上浮两种。 冒泡排序步骤(大数下沉): 1)比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2)对每一对相邻元素作同样的工...

顺序查找和折半查找(C语言)

  • 2010年05月13日 19:38
  • 2KB
  • 下载

数据结构C语言版折半查找

/*       名称:折半查找        语言:数据结构C语言版        编译环境:VC++ 6.0       日期: 2014-3-26    */      #incl...

C语言简单实现折半查找法

近期研习C语言,谭浩强《C语言程序设计(第2版)》P167.6原题:     有15个数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中...

OutMan——C语言中的冒泡排序、选择排序、折半查找以及指针的介绍

冒泡排序 选择排序 折半查找 折半插入 指针的介绍
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【C语言】编写一个折半查找函数
举报原因:
原因补充:

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