这里用链表实现一个稀疏矩阵,不过只讲讲其实现原理。
分两个步骤:
1. 把每行的非0元素串在一起,构成一个链表,称为行链表,在行链表中每一个节点有两个域:element(数据域)和next(指针域)。数据域element有两个子域:col(元素的列号),value(元素的值)。next指针指向改行的下一个非零元素。一行中至少有一个非零元素,才会建立该行的行链表。
2. 把所有的行链表的头节点收集起来构成另外一个链表称为头节点链表,头节点链表也有两个域element和next。element有两个子域:row(与行链表对应的行号),rowChain(指向行链表)