- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验四数据结构实验报告
稀疏矩阵的表示和转置
X请 12 3 4输234,一个4行5列的矩阵:567834
X
请 12 3 4
输
2
3
4
,一个4行5列的矩阵:
5
6
7
8
3
4
5
稀疏矩阵转换成一般矩阵后,
1
2
3
4
再进行打印:
4
Press
any
6key
to
7 continue
实验目的.掌握稀疏矩阵的三元组顺序表存储结构
.掌握稀疏矩阵的转置算法。
实验内容
采用三元组表存储表示,求稀疏矩阵M的转置矩阵T。(算法5.1)实验步骤:
.构建稀疏矩阵Mo.求稀疏矩阵M的转置矩阵To
.输出稀疏矩阵M和稀疏矩阵To算法说明
测试结果
匚*C:\Prograa Files\licrosoft Visual Studio\IyProjects\125\Di分析与探讨
附录:源代码源代码列在附录中,要求程序风格清晰易理解,有充分的注释。有意义的注释行不少 于 30%o
#includenstdio.hn#includenstdlib.hn
数据结构实验报告#define P 4
#define N 5#define MAXSIZE 100
typedef int ElernentType;typedef struct
{
int row,col;
ElementType e;JTriple;
typedef struct{
Triple data[MAXSIZE+l];
int m,n,len;}TSMatrix;
void InitMatrix(int A[P+1][N+1])〃初始化矩阵
int ij;
printff请输入一个4行5列的矩阵:\nn);
for(i=l;i=P;i++)
for(j=l;j=N;j++)
(
scanf(u%dH,A[i][j]);
}
}
for(i=l;iP+l;i++)
(
for(j=l;jvN+l;j++)
{
printf(f%d\f\A[i][j]);
}
print 隼\n);
}
printf(\n);}
TSMatrix MatrixToTriple(int A[P+l][N+l],TSMatrix M)//将一般的矩阵转换成三元组形式的 (
int r,c,k=0;
fbr(r=l;r=P;r++)
fbr(c= 1 ;c=N;c++)
数据结构实验报告
if(A[r][c]!=O) ( k++;
M.data[k].row=r;
M.data[k].col=c;
M.data[k].e=A[r|[c];〃一个小小的错误,将A[r][c]写成A[c][r],导致调了 5个多小时 )〃调程序一定要认真啊(。。。)!
)
)
M.m=P;
M.n=N;
M.len=k;
return M;)
TSMatrix FastTransposeTSMatrix(TSMatrix A,TSMatrix B){//稀疏矩阵的快速转置算法
int lie,t,p,q;
int num[MAXSIZE],position[MAXSIZE];
B.len=A.len;
B.m=A.n;
B.n二A.m;
if(B.len)
(
for(lie=l ;lie=A.n;lie++)( num[lieJ=O;
)
for(t= 1 ;t=A.len;t++)
(
num[A.data[t].col]++;
}
position[l]=l;
for(lie=2;lie=A.n;lie++) (
position[lie]=position[lie-1 ]+num[lie-1 ];
)
for(p= l;p=A.len;p++)
(
lie=A.datafp].col;
q=position[lie];
B.data[q].row=A.data[p].col;数据结构实验报告
B.data[q].col=A.data[p].row;
B.data[q].e=A.data[p].e;
position[lie]++;
)
)
return B;)
void printMatrix(TSMatrix M)(
int B[N+1][P+1]={0};
int i,j,k=1;
for(i=1 ;iN+1 ;i++)
(
for(j=1 ;jP+1 ;j++)
(
if(i==M.data[k].row j==M.data[k].col)
(
B[i]O]=M.data[k].e;
k++;
)
)
)
printf(稀疏矩阵转换成一般矩阵后,再进行打印:\n);
for(i=1 ;ivN+1 ;i++)
(
for(j=1 ;jP+1 ;j++)
(
printf(n%4d\tH,B[i][j]);
)
printf(H\nH);
))
void main()(
int A
您可能关注的文档
- 公路工程安全生产主体责任落实情况.docx
- 公司安全承诺书.docx
- 全装修房房屋租赁合同.docx
- 全新终止劳动合同证明文件的范例.docx
- 全新室内室外绿化养护合同样本.docx
- 全新合同书工程欠款起诉书范文.docx
- 健康体检中心人员职责.docx
- 债务解除协议的样本.docx
- 胶粘剂项目背景分析.docx
- 楼房电气安装工程概述.docx
- 2025年湖北省十堰市竹山县高三下学期3月联考物理试卷.docx
- 2025年武汉海事职业学院单招职业适应性考试题库附答案.docx
- 2025年湖北省十堰市房县高三下学期物理基础题、中档题型强化训练.docx
- 2025年湖北省十堰市竹溪县高三一模物理试卷及答案.docx
- 2025年湖北省十堰市房县高三下学期4月联考物理试卷.docx
- 2025年湖北省十堰市房县高三英才班下学期物理限时训练试题.docx
- 2025年湖北省十堰市竹山县高三下学期4月联考物理试卷.docx
- 2025年湖北省十堰市房县高三下学期3月联考物理试卷.docx
- 2025年湖北省十堰市房县高三一模物理试卷及答案.docx
- 2025年湖北省十堰市张湾区高三二模物理试卷及答案.docx
文档评论(0)