华中科技大学:《数据结构》课程教学资源(PPT课件讲稿)作业解答5

20083
数据结构作业 2003 年 第五章 数组

521假设稀疏矩阵A和B均以三元组顺序表作为存储结构:求 C=A+B。 (1)定义类型: +define MAXSIze 100 typedef struct t int i,j;//非零元行、列下标 ElemType e } Triple;//定义三元组 typedef struct Triple dataLMAXSIzE+1 int mu, nu, tu. } SMAtrix;//定义三元组表
(1) 定义类型: #define MAXSIZE 100 typedef struct { int i,j;//非零元行、列下标 ElemType e; } Triple; //定义三元组 typedef struct { Triple data[MAXSIZE+1]; int mu,nu,tu; } TSMatrix; //定义三元组表 5.21 假设稀疏矩阵A和B均以三元组顺序表作为存储结构:求 C=A+B

int ADD(TSMatrix *A, TSMatrix *B, TSMatrixNC) intm=1,n=1,k=1;/*读:m,n,写:k* if(A->mu!=B->mu A->nu!=B->nu) return error while (mtu & ntu /*比较A->data和B->data的行、列*/ /*必要时:m+,n++,k++*/ while(mtu)/米复制A中为处理完的三元组*/ while(ntu)/*复制B中为处理完的三元组米/
int ADD(TSMatrix *A, TSMatrix *B, TSMatrix *C) { int m=1,n=1,k=1; /*读:m,n, 写:k */ if (A->mu!=B->mu || A->nu!=B->nu) return ERROR; while (mtu && ntu) { /*比较A->data和B->data的行、列*/ /*必要时:m++, n++, k++ */ } while (mtu ) /*复制A中为处理完的三元组*/ while (ntu ) /*复制B中为处理完的三元组*/ }

int ADD(TSMatrix *A, TSMatrix *B, TSMatrixNC) intm=1,n=1,k=1;/*读:m,n,写:k* if(A->mu!=B->mu A->nu!=B->nu) return error while (mtu & ntu /*比较A->data和B->data的行、列*/ /*必要时:m+,n++,k++*/ while(mtu)/米复制A中为处理完的三元组*/ while(ntu)/*复制B中为处理完的三元组米/
int ADD(TSMatrix *A, TSMatrix *B, TSMatrix *C) { int m=1,n=1,k=1; /*读:m,n, 写:k */ if (A->mu!=B->mu || A->nu!=B->nu) return ERROR; while (mtu && ntu) { /*比较A->data和B->data的行、列*/ /*必要时:m++, n++, k++ */ } while (mtu ) /*复制A中为处理完的三元组*/ while (ntu ) /*复制B中为处理完的三元组*/ }

int ADD(TSMatrix *A, TSMatrix *B, TSMatrixNC) intm=1,n=1,k=1;/*读:m,n,写:k* if(A->mu!=B->mu A->nu!=B->nu) return error while (mtu & ntu int11,12; 11=A->data [m]. i* A->nu+ A->data [m]. j+1 12=B->data[n]. i* B->nu+ B->data[n]. j+1 f(11<12){/*复制A中的三元组,m++,k+米/ else if(11==12){/*相加* else{/*复制B中的三元组,n+,k++*/}
int ADD(TSMatrix *A, TSMatrix *B, TSMatrix *C) { int m=1,n=1,k=1; /*读:m,n, 写:k */ if (A->mu!=B->mu || A->nu!=B->nu) return ERROR; while (mtu && ntu) { int l1,l2; l1= A->data[m].i* A->nu+ A->data[m].j+1; l2= B->data[n].i* B->nu+ B->data[n].j+1; if (l1<l2) { /*复制A中的三元组,m++, k++*/ } else if (ll==l2) {/*相加*/} else {/*复制B中的三元组,n++, k++*/} }…..}

int add( SMAtrix*A, SMAtrix米B, SMAtrix米C intm=1,n=1,k=1;/*读:m,n,写:k* if (A->mu!=B->mu A-nu! =B->nu) return ERROR while (mtu & ntu int11,12; 11=A-data[m]. i* A->nu+ A->datalm] j+1 12=B->data[n]. i*k B->nu+ B->data[n]. j+1 if(11data[]=A->datalm m++,k++
int ADD(TSMatrix *A, TSMatrix *B, TSMatrix *C) { int m=1,n=1,k=1; /*读:m,n, 写:k */ if (A->mu!=B->mu || A->nu!=B->nu) return ERROR; while (mtu && ntu) { int l1,l2; l1= A->data[m].i* A->nu+ A->data[m].j+1; l2= B->data[n].i* B->nu+ B->data[n].j+1; if (l1data[k]=A->data[m]; m++, k++ }

else if(11=-12)( C->datalk]i=B->datain.i C->datalk] j=B->data[n]. j C->datalk] e= A->data [n] e+ B->datalnle if(C->data[k].e)k++;/*非0元素移动*/ m++,n++ e⊥se C->datalk]=B->dataIn] n++,k++
else if (ll==l2) { C->data[k].i=B->data[n].i; C->data[k].j=B->data[n].j; C->data[k].e= A->data[n].e+ B->data[n].e; if (C->data[k].e ) k++; /*非0元素移动*/ m++,n++; } else { C->data[k]=B->data[n]; n++, k++ } }

while(mtu)/*复制A中为处理完的三元组*/ C->datalk]=A->data[m] m++,k++ while(ntu)/*复制B中为处理完的三元组*/ C->data[k]=B->datain] n++,k+} C->tu=k-1: C->mu=A->mu: C->nu=A->nu return OK
while (mtu ) /*复制A中为处理完的三元组*/ { C->data[k]=A->data[m]; m++, k++} while (ntu ) /*复制B中为处理完的三元组*/ { C->data[k]=B->data[n]; n++, k++} C->tu=k-1; C->mu=A->mu; C->nu=A->nu; return OK; }
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 华中科技大学:《数据结构》课程教学资源(PPT课件讲稿)作业解答4.ppt
- 华中科技大学:《数据结构》课程教学资源(PPT课件讲稿)作业解答3.ppt
- 华中科技大学:《数据结构》课程教学资源(PPT课件讲稿)第五章 数组和广义表.ppt
- 华中科技大学:《数据结构》课程教学资源(PPT课件讲稿)第四章 字符串/串(string).ppt
- 华中科技大学:《数据结构》课程教学资源(PPT课件讲稿)第三章 栈和队列 3.4 队列(排队,queue).ppt
- 华中科技大学:《数据结构》课程教学资源(PPT课件讲稿)第三章 栈和队列 3.1 栈(stack)3.2 栈的应用举例.ppt
- 华中科技大学:《数据结构》课程教学资源(PPT课件讲稿)第二章 线性表(2/2)2.3 线性表的链式存储结构.ppt
- 华中科技大学:《数据结构》课程教学资源(PPT课件讲稿)第二章 线性表(1/2)2.1 线性表的定义 2.2 线性表的顺序表示.ppt
- 华中科技大学:《数据结构》课程教学资源(PPT课件讲稿)第一章 绪论.ppt
- 华中科技大学:《C语言程序设计》作业解答4.ppt
- 华中科技大学:《C语言程序设计》作业解答3.ppt
- 华中科技大学:《C语言程序设计》作业4.doc
- 华中科技大学:《C语言程序设计》作业3.doc
- 华中科技大学:《C语言程序设计》作业2.doc
- 华中科技大学:《C语言程序设计》上机作业2.doc
- 华中科技大学:《C语言程序设计》上机作业1.doc
- 华中科技大学:《C语言程序设计》第7章 图.doc
- 华中科技大学:《C语言程序设计》数据结构算法C程序.doc
- 华中科技大学:《C语言程序设计》数据结构算法C程序1.doc
- 华中科技大学:《C语言程序设计》数据结构算法C程序.doc
- 华中科技大学:《C语言程序设计》作业解答-图.ppt
- 华中科技大学:《C语言程序设计》作业解答-树.ppt
- 华中科技大学:《C语言程序设计》大型作业.ppt
- 华中科技大学:《C语言程序设计》第十章 内排序.ppt
- 华中科技大学:《C语言程序设计》第十章(10-4) 归并排序.ppt
- 华中科技大学:《C语言程序设计》第十二章 文件.ppt
- 华中科技大学:《数据结构》课程教学资源(PPT课件讲稿)第六章 树和二叉树 6.1 树的定义 6.2 二叉树(binary tree)6.3 遍历二叉树和线索二叉树.ppt
- 华中科技大学:《数据结构》课程教学资源(PPT课件讲稿)第六章 树和二叉树 6.3 遍历二叉树和线索二叉树.ppt
- 华中科技大学:《数据结构》课程教学资源(PPT课件讲稿)第七章 图 Graph 7.1 图的定义和术语 7.2 图的存储结构.ppt
- 华中科技大学:《数据结构》课程教学资源(PPT课件讲稿)第七章 图 Graph 7.3 图的遍历 7.4 图的连通性问题.ppt
- 华中科技大学:《数据结构》课程教学资源(PPT课件讲稿)第七章 图 Graph 7.5 有向无环图及其应用 7.6 最短路径.ppt
- 华中科技大学:《数据结构》课程教学资源(PPT课件讲稿)第九章 查找表 9.0 有关的术语 9.1 静态查找表 9.2 动态查找表.ppt
- 华中科技大学:《数据结构》课程教学资源(PPT课件讲稿)第九章 查找表 9.3 哈希(Hash)表和哈希法.ppt
- 华中科技大学电子与信息工程系:《微型计算机原理及应用》第一章 计算机的运算基础与微型机.ppt
- 华中科技大学电子与信息工程系:《微型计算机原理及应用》ftp地址.ppt
- 华中科技大学电子与信息工程系:《微型计算机原理及应用》第二章 汇编语言和汇编程序.ppt
- 华中科技大学电子与信息工程系:《微型计算机原理及应用》第三章 程序设计的基本技术.ppt
- 华中科技大学电子与信息工程系:《微型计算机原理及应用》第三章 软件设计基础.ppt
- 华中科技大学电子与信息工程系:《微型计算机原理及应用》第二章 汇编语言和汇编程序.ppt
- 华中科技大学电子与信息工程系:《微型计算机原理及应用》第六章 输入/输出接口.ppt