- // c2-1.h 线性表的动态分配顺序存储结构
- #define LIST_INIT_SIZE 10 // 线性表存储空间的初始分配量
- #define LIST_INCREMENT 2 // 线性表存储空间的分配增量
- struct SqList
- {
- ElemType *elem; // 存储空间基址
- int length; // 当前长度
- int listsize; // 当前分配的存储容量(以sizeof(ElemType)为单位)
- };
- // c2-2.h 线性表的单链表存储结构
- struct LNode
- {
- ElemType data;
- LNode *next;
- };
- typedef LNode *LinkList; // 另一种定义LinkList的方法
- // c2-3.h 线性表的静态单链表存储结构
- #define MAX_SIZE 100 // 链表的最大长度
- typedef struct
- {
- ElemType data;
- int cur;
- }component,SLinkList[MAX_SIZE];
- // c2-4.h 线性表的双向链表存储结构
- typedef struct DuLNode
- {
- ElemType data;
- DuLNode *prior,*next;
- }DuLNode,*DuLinkList;
- // c2-5.h 带头结点的线性链表类型
- typedef struct LNode // 结点类型
- {
- ElemType data;
- LNode *next;
- }*Link,*Position;
- struct LinkList // 链表类型
- {
- Link head,tail; // 分别指向线性链表中的头结点和最后一个结点
- int len; // 指示线性链表中数据元素的个数
- };
- // c2-6.h 抽象数据类型Polynomial的实现
- typedef struct // 项的表示,多项式的项作为LinkList的数据元素
- {
- float coef; // 系数
- int expn; // 指数
- }term,ElemType; // 两个类型名:term用于本ADT,ElemType为LinkList的数据对象名
线性表--存储结构分析(结构体定义)
最新推荐文章于 2021-12-17 17:15:20 发布