2010 年 12 月 28 日。
设计实现稀疏矩阵的基本功能,例如稀疏矩阵的相加,相减,相乘,转置等。采取的方法有三元组和十字链表来进行实现。要求运行无误,基本功能实现良好。
简要说明设计方案、需要设计哪些类,以及类和类之间的关系)
利用三元组实现:主要需要设计一个矩阵类和一个三元组类。将三元组做为矩阵的一个元素,利用矩阵调用三元组,以实现该功能。
利用十字链表:主要需要设计一个矩阵类和一个十字类。利用十字交叉法计算稀疏矩阵的各项功能。
三元组:十字链表:
这里面就只是写有十字链表的测试情况写的是两个稀疏矩阵的减法:
在设计程序的过程中,虽然遇到了不少问题与错误,但在一起讨论过后的到很好的解决。其实编程没有自己想象的那么难,要敢于尝试。不足之处在于考虑问题不够透彻与全面,今后还需多多努力,多编程序,熟能生巧。
文件名: #include
using namespace std;
#include""
juzhen::juzhen(int m,int n)
len = 0;
nums = 0;
row = m;
col = n;
juzhen::juzhen(const juzhen &m)
int k;
col =
row =
nums =
len =
for(k = 0; k < k++)
juzhen & juzhen::operator =(const juzhen &m)
int k;
if(this !=m)
return *this;
juzhen::~juzhen()
juzhen juzhen::add(const juzhen &m)
if(row ==col ==
if(k1 ==len)
else if(k2 === k3;
return n;
elsejuzhen juzhen::sub(const juzhen &m)
if(row ==col ==
juzhen n(row, col);
int k1,k2,k3;
for(k1 = 0,k2 = 0,k3 = 0; k1 < len &&k2 < k3++)
if(data[k1].r ==
if(data[k1].c ==
= data[k1].r;
= data[k1].c;
= data[k1].d -
k1++,k2++;
else if(data[k1].c >
k2++;else
= data[k1].r;
= data[k1].c;
= data[k1].d;
k1++;else if (data[k1].r >
《数据结构》课程设计报告书
数据结构 课程设计报告。报告 题目1.迷宫问题。2.哈夫曼编码。作者所在系部 计算机科学与工程系。作者所在专业网络工程。作者所在班级b08522 作者姓名马洪彪。作者学号20084052227 指导教师姓名贾振华。完成时间2009年12月31日。北华航天工业学院教务处制。课程设计任务书。摘要。本次课...
数据结构课程设计报告书
课程设计说明书。设计名称 数据结构课程设计 题目 用迷宫算法对数组中的聚点数进行统计学生姓名 专业 10网络工程。班级 2班。学号 2010394201 指导教师 日期 2012年3月3日。课程设计任务书。目录。一 设计题目1 二 主要内容1 2.1设计思想1 2.2程序截图1 2.3算法流程图4 ...
《数据结构》课程设计报告书
利用hash技术统计c源程序中的关键字出现的频度。班级 计算机 姓名。指导教师。成绩。清华大学计算机系。2012 年 12 月 31 日。目录。一 题目描述 1 1.1问题描述 1 1.2实现要求 1 二 题目分析 1 2.1hash函数 1 2.2关键技术 2 2.3利用hash函数统计c源程序中...