数据结构与算法——第5章-数组和广义表-十字链表(5.10.2)
一 概述
1 | 1.十字链表法 |
二 十字链表法
1 | 之前所介绍的都是采用顺序存储结构存储三元组,在类似于矩阵的加法运算中,矩阵中的数据元素变化较大 |
三 十字链表法表示矩阵
3.1 图示
1 | 例如,用十字链表法表示矩阵 A ,为: |
5.2 说明
1 | 由此可见,采用十字链表表示矩阵时,矩阵的每一行和每一个列都可以看作是一个单独的链表, |
四 十字链表中的结点
4.1 图示
1 | 从图 2 中的十字链表表示矩阵的例子可以看到,十字链表中的结点由 5 部分组成: |
4.2 代码(用结构体自定义表示为:)
1 | typedef struct OLNode { |
五 十字链表的结构
5.1 说明
1 | 使用十字链表表示一个完整的矩阵,在了解矩阵中各结点的结构外,还需要存储矩阵的行数、列数以及非 0 元素的个数, |
5.2 代码
所以,采用结构体自定义十字链表的结构,为:
1 | typedef struct { |
六 参考
- C语言中文网—十字链表实现矩阵加法