赞
踩
静态查找表在查找的过程中不改变表的状态---不插入也不删除,适合不变动或者不经常变动的查找,顺序表可以使有序的也可以是无序的,如果是有序的可以使用折半查找,每查找一次,就把范围缩小一半。如果是无序的就只能从表的一端开始逐一查找了。
本文先构建一个无序的顺序表,然后从表的一端进行查找指定的元素。
- #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(SSTable &ST,ElemType r[],int n)
- {
- int i;
- //ST.elem=(ElemType*)calloc(n+1,sizeof(ElemType));//动态生成n+1个数据元素空间
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。