线性表是n个数据元素的有限序列。一个数据元素可以由若干个数据项组成,常把数据元素成为记录,含有大量记录的线性表称为文件。
链表 用一组任意的存储单元存储线性表的数据元素 数据元素 a的存储映像称为结点,包含两个域:存储数据元素信息的域称为数据域;存储直接后继存储位置的域称为指针域。指针域中存储的信息称作指针或链。
单链表
typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList; 静态单链表 #define MAXSIZE 100 typedef struct{ ElemType data; int cur; }component,SLinkList[MAXSIZE]; 循环链表 表中最后一个节点的指针域指向头结点,整个链表形成一个环双向链表 typedef struct DuLNode{ ElemType data; struct DuLNode *prior; struct DuLNode *next; }DuLNode,*DuLinkList; 带头节点的线性链表 typedef struct LNode{ ElemType data; struct LNode *next; }*Link,*Position; typedef struct{ Link head,tail; int len; }LinkList;