您的位置:首页 > 其它

线性表--存储结构分析(结构体定义)

2008-10-19 03:35 302 查看
// 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的数据对象名
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: