线性表存数结构分为:顺序存储结构和链式存储结构
顺序存储结构: 用一段地址连续的存储单元依次存储线性表中的数据元素。
在C语言中可以用一维数组来实现顺序存储结构。
1、存储空间的起始位置:数组node
2、线性表的最大容量:数组长度 MAXSIZE
3、线性表的当前长度:length
#define MAXSIZE 20
typedef struct _tag_list
{
char node[MAXSIZE];
int length;
} List;
获取元素操作
1、判断线性表是否合法
2、判断位置是否合法
3、直接通过数组下标的方式获取元素
char Get(List* list, int pos)
{
char ret = -1;
// 1.判断线性表是否合法
// 2.判断位置是否合法
if((list != NULL)&&(0 <= pos)&&(pos < list->length))
{
ret = list->node[pos];
}
return ret;
}
插入元素操作
1、判断线性表是否合法
2、判断插入位置是否合法
3、把最后一个元素到插入位置的元素后移一个位置
4、将新元素插入
5、线性表长度加1
int Insert(List* list, char c, int pos)
{
//1.判断线性表是否合法
int ret = (list != NULL); //这种赋值方式以前没用过
int i = 0;
//2.判断插入位置是否合法