文章目录
一、线性表的(类型)定义和特点
-
线性表是具有相同特性的数据元素的一个有限序列。
-
逻辑特征:
- 有且经有一个开始节点,仅有一个直接后继;
- 有且经有一个结束节点,仅有一个直接前驱;
- 其余的内部节点都有且经有一个直接前驱和一个直接后继。
-
抽象数据类型线性表的定义:
ADT List{
数据对象:D={a(i)|a(i)属于Elemset,(i=1,2······n,n>=0)}
数据关系:R={<a(i-1),a(i)>|a(i-1),a(i)属于D,(i=1,2,3,·····n)}
基本操作:
LinitList(&L); DestoryList(&L);
······等等
} ADT List
二、类C语言有关操作补充说明
1.元素类型说明
//顺序表类型定义
typedef struct{
ElemType data[];
int length;
} SqList;
//定义结构类型
typedef struct{
float p;
int e;
} Polynomial;
typedef struct{
Polynomial *elem;
int length;
} SqList;
ElemType
是指任意类型,使用时可以定义,例:typedef char ElenType;
2.数组定义
//数组静态分配
typedef struct{
ElemType data[MaxSize]; //数组名就是数组存放第一个元素的基地址
int length;
}SqList;
//数组动态分配
typedef struct{
ElemType *data; //直接使用指针变量指向第一个元素的首地址
int length;
}SqList
SqList L;
L.data=(ElemType*)malloc(sizeof(ElemType)*MaxSize);
//(ElemType*)是指根据类型划分字节
3.C语言的内存动态分配
需要加载头文件&#