静态查找表在查找的过程中不改变表的状态---不插入也不删除,适合不变动或者不经常变动的查找,顺序表可以使有序的也可以是无序的,如果是有序的可以使用折半查找,每查找一次,就把范围缩小一半。如果是无序的就只能从表的一端开始逐一查找了。
本文先构建一个无序的顺序表,然后从表的一端进行查找指定的元素。
#include<stdio.h>
#include<malloc.h>
#include<process.h>
#define ERROR 0
#define key number //设置number为查找的关键字
//数据元素的类型
struct ElemType
{
long number;//key
char name[9];
int Chinese;
int math;
int English;
};
//静态查找表的顺序存储结构
struct SSTable
{
ElemType *elem;//数据元素的存储空间的基地址,(0号单元不用)
int length;//表的长度
};
//对于两个数值型变量的比较约定为如下的宏定义
#define EQ(a,b) ((a) == (b))
#define LT(a,b) ((a) < (b))
#define LQ(a,b) ((a) <= (b))
//由n个数据元素的数组r,构造静态查找表ST
void Create_Seq(SSTabl