这段时间在看c++primer,深切的体会到了c++是多么复杂的一门语言,但是在c++中又包含着c语言所不拥有的很多特性,不说那么多了,等我囫囵吞枣地把它看完我应该要开始更新c++的博客了,当然这本书我是会更新完的,哈哈。
第五章的最后一个内容,用十字链表存储系数矩阵,当然我看后面的图当中好像也还是有十字链表的内容的,我非常喜欢链表这个数据结构,实现起来感觉游刃有余,大概就是唯手熟尔吧,哈哈。首先上一下十字链表的逻辑图。
这里书上给出的思路就是在每一个行首和列首都保存一个指针,这个指针指向这一行列数最小的元素或者指向这一列行数最小的元素。在这里,具体的实现上把每一行的行首指针组成数组,同样把每一行的列首指针也组成一个数组。然后使用链表的插入方法就可以完成整个十字链表的构造。个人愚见:我认为这里书上的实现是有瑕疵的,作者可能没有考虑到如果行首指针刚开始指向的是列数比较大的元素,后来又向这个元素之前插入列数比较小的元素,前向插入作者在这里貌似没有考虑,我在这里实现的过程中,考虑了这个问题,但是我没有经过大量的测试,代码可能还是存在很多的疑问。
#include <stdio.h>
#include <stdlib.h>
#define M

本文探讨了使用十字链表存储稀疏矩阵的方法,通过在行首和列首保存指针来实现。文章指出书中的实现可能存在瑕疵,并在个人实现中考虑了前向插入的问题,同时优化了结构体设计以提高效率。接下来,作者计划进入树的数据结构章节进行研究。
最低0.47元/天 解锁文章
3432

被折叠的 条评论
为什么被折叠?



