⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 binsrch.c

📁 单片机程序设计基础 随书光盘
💻 C
字号:
//线性表的折半查找算法
#define MAX 14	//元素的最大个数

int R[MAX]={4,8,12,24,53,71,88,103,147,192,206}; //定义数组
int n=11;	//实际元素个数有11个,序号从0到10

int BINSEARCH (int k ) //二分查找算法
{	int low,mid,high ;
	low = 0; high = n ;	//初始化查找区间
	while ( low <= high ) { //如果区间存在
		mid = ( low + high )/2 ; //求区间中心的位置
		if ( R[mid] == k ) return mid ; //查找成功,返回节点位置信息
		if ( R[mid] > k ) high = mid - 1 ;//中心节点关键字偏大,查找低半段
		else low = mid + 1 ; //中心节点关键字偏小,查找高半段
		}
	return ( -1 ) ; //查找失败,返回失败标志
}

main ()
{
	int i;
	i = BINSEARCH (53); //调用二分查找算法成功,i=4
	i = BINSEARCH (105); //调用二分查找算法失败,i=-1
	while (1) ; //在这一行设置断点,中止程序运行,以便观察程序运行的结果 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -