1. 背景说明

图 2.10(b) 展示了图 2.10(a) 所示线性表在插入数据元素 “SHI” 和删除数据元素 “ZHENG” 之后的状况。
为了和指针型描述的线性链表相区别,我们给这种用数组描述的链表起名叫静态链表。
2. 示例代码
- // 静态链表示例源文件
-
- #include
- #include
-
- #define MAXSIZE 100 // 链表的最大长度
- #define N 6
-
- typedef char ElemType[N];
-
- typedef struct {
- ElemType data;
- int curr;
- } SLinkList[MAXSIZE];
-
- int main(void)
- {
- SLinkList staticList = {
- { "", 1 },
- { "ZHAO", 2 },
- { "QIAN", 3 },
- { "SUN", 4 },
- { "LI", 5 },
- { "ZHOU", 6 },
- { "WU", 7 },
- { "ZHENG", 8 },
- { "WANG", 0 }
- };
-
- // 遍历所有结点
- int i = staticList[0].curr;
- while (i) {
- printf("%