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

📄 8-2.c

📁 这个是数据结构经典算法实现
💻 C
字号:
#include "stdio.h"
#define maxsize 100
typedef char keytype;
typedef struct Info
{
	keytype key;/*关键字*/
				//其他数据
}rec;
typedef struct
{
	rec item[maxsize+1];
	int n; /*最后一个数据元素的下标*/
}sqtable;
int  Compare(int index1,int index2)
{
	if(index1>index2)
		return 1;
	else if(index1<index2)
		return -1;
	else 
		return 0;
}
int bin_search(sqtable R,keytype K)
{
	int low=1,mid;
	int hig=R.n;/*置搜索区间初值*/
	while(low<=hig)/*区间长度不为0时继续搜索*/
	{ 
		mid=(low+hig)/2; /*找出区间的中间位置*/
		switch (Compare(K,R.item[mid].key))
		{ 
			case 0: 
				return(mid);/*找到,返回位置mid*/
			case -1: 
				hig=mid-1; 
				break; /*缩小区间*/
			case 1: 
				low=low+1; 
				break;/*缩小区间*/
		}
	}
	return(0);/*若区间长度已为0但仍不成功,则返回0,表示搜索不成功*/
}
void Initial(sqtable *R)
{
	//初始化
}
void main()
{
	int result;
	keytype searched='a';
	sqtable S;
	Initial(&S);
	result=bin_search(S,searched);	
}

⌨️ 快捷键说明

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