#include<iostream>
using namespace std;
typedef struct 
{
	KeyType key;
	InforType otherinfo;
}Elemtype;/*数组的内容*/ 
typedef struct 
{
	Elemtype *R;/*定义数组的首地址*/ 
	int length;
}SSTable;
/*顺序查找*/ 
int Search_Seq(SSTable ST,int key)
{
	for(int i=ST.length;i>=1;--i)
	if(ST.R[i].key==key)
	return i;
	return 0;
}
/*设置监视哨的顺序查找*/
int Search_Seq(SSTable ST,KeyType key)
{
	ST.R[0].key=key;/*对数组设置时,前提为数组小标为0的位置内容为空,从1开始,于是数组中所查遇到则返回下标,如未遇到则返回0*/ 
	for(int i=ST.length;ST.R[i].key!=key;--i)
	return i;
}
/*折半查找*/
int Search_Bin(SSTable ST,KeyType key)
{
	low=1;
	high=ST.length;
	while(low<=high)
	{
		mid=(low+high)/2;
		if(key==ST.R[mid].key)
		return mid;
		else if(key<ST.R[mid].key)
		high=mid-1;
		else
		low=mid+1;
	}
 } 
/*递归*/ 
int Search_Bin(SSTable ST,KeyType key,int low,int high)
{
	if(low>high)
	return 0;
	mid=(low+high)/2;
	if(key==ST.R[mid])
	return mid;
	else if(key<=ST.R[mid])
	return Search_Bin(ST,key,mmid+1,high);
	else return Search_Bin(ST,key,low,mid-1); 
}


点赞(0)
 

0.0分

2 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论