线性表的顺序表示和实现
1、描述
一般线性表包含下列基本操作:初始化、销毁、重置为空表、判断是否为空、获取长度、根据位置获取对应元素、查找元素、获取指定元素的前驱和后继元素、插入元素、删除元素、遍历元素。
2、具体实现代码
// 线性表的顺序表示和实现
// 孙琨SealSun at UCAS 2015.12.8
#include<stdio.h>
#include<stdlib.h>
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INIT_SIZE 10 // 初始化表长
#define INCREMENT_SIZE 5 // 分配增量
typedef int Status;
typedef int Elemtype;
// 存储结构
typedef struct{
Elemtype *elem; // 存储空间基址
int length; // 当前长度
int size; // 当前分配的表长大小
}SqList;
// 初始化一个空的线性表
Status InitList(SqList *L){
L->elem = (Elemtype *)malloc(INIT_SIZE*sizeof(Elemtype));
if(!L->elem){
return ERROR;
}
L->length = 0;
L->s