顺序表详解
顺序表存储逻辑关系为“一对一”的顺序。在存储数据之前,要提前申请好一块足够大小的物理空间。
顺序表初始化
使用顺序表存储数据之前,除了要申请足够大小的物理空间之外,为了方便后期使用表中的数据,顺序表还需要实时记录以下 2 项数据:
1、顺序表申请的存储容量;
2、顺序表的长度,也就是表中存储数据元素的个数;
因此我们要自定义顺序表,C语言代码如下:
typedef int ElemType;
typedef struct seqlist {
ElemType *elem; //声明了一个大小不确定的数组,也成为“动态数组”
int length; //记录顺序表数据当前大小
}seqlist;
申请空间的大小我们用一个宏定义
#define MAXSIZE 10 //对MAXSIZE进行宏定义,表示顺序表申请空间的大小
#define FALSE 0 //后续会用到,不必理解
#define TRUE 1 //后续会用到,不必理解
typedef unsigned char boolean;
下面就是初始化顺序表初始化
boolean initList(seqlist* List1) {
//返回值为boolean类型的一个函数
List1->elem = (int*)malloc(MAXSIZE * sizeof(int)); //构造一个空的顺序表,动态申请存储空间
if