最近复习数据结构,在读数据结构的经典作《大话数据结构》(程杰),以下是近期对于线性表的顺序存储结构的整理,后期尽量持续更新。
一、顺序存储定义
线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。
二、顺序存储方式
1. 顺序存储的结构代码为:
#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 20 /* 存储空间初始分配量 */
#define INCREACEMENT 10 /* 存储空间分配增量 */
typedef int ElemType; /* ElemType 类型根据实际情况而定,这里指定为int */
typedef int Status; /* Status 类型根据实际情况而定,这里指定为int */
#define OK 1
#define ERROR 0
typedef struct
{
ElemType *elem; // 存储空间基地址,此处为int型,视情况而定
int length; // 元素表当前长度
int size; //当亲分配的存储容量
}SqList;
2. 顺序表的初始化操作(分配一个预定大小的数组空间,并将顺序表的长度设为0):
Status InitList(SqList &L){
L.elem = (ElemType *)malloc(MAXSIZE*sizeof(int));
if(!L.elem){
return;
}
L.length = 0