-2

正如我的大学老师所问的那样,我在用多列表表示 C 中的稀疏矩阵时遇到了很大的麻烦。

图片

据我了解,有几种列表:

  • 主要的包含指向下一行和列的指针
  • 一个用于列和行
  • 元素之一。

任何有关如何实现这一点的帮助将不胜感激。

4

1 回答 1

2

(如果您要问的话,我将解释如何表示图片)
从您的图片中,我了解到您有 3 种类型的节点和一些规则:

  • a) 1 为行数和列数(带 2 个指针)
  • b)一个用于矩阵的大小(2个指针以及witdh和height)
  • c)一个元素的值不为零(带有2个指针,元素和元素的列值和行值)

规则:

  1. b) 元素有一个指向第一个行元素和第一个列元素的指针
  2. 每个行元素都有一个指向下一行元素的指针(最后一个元素有一个指向 b) 元素的指针)
  3. 每个列元素都有一个指向下一个列元素的指针,最后一个列有一个指向 b) 元素的指针
  4. 每行都有第二个指针指向其行上的第一个 c) 元素
  5. 每个列都有第二个指针指向其列上的第一个 c) 元素
  6. 每个元素都指向:下一个 c) 行上的元素和下一个 c) 列上的元素(如果行上没有下一个元素,则指向行元素,如果列上没有下一个元素,则指向列元素)

对于每条规则,如果您无法应用,您只需跳过它并将指针留空
希望它有所帮助。
您可以创建一些自定义链接列表 并应用规则
在这里您有一个简单的教程

于 2012-06-23T11:34:57.167 回答