2022年采用十字链表表示稀疏矩阵,并实现矩阵的加法运算 .pdf
《2022年采用十字链表表示稀疏矩阵,并实现矩阵的加法运算 .pdf》由会员分享,可在线阅读,更多相关《2022年采用十字链表表示稀疏矩阵,并实现矩阵的加法运算 .pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程设计所抽题目:采用十字链表表示稀疏矩阵, 并实现矩阵的加法运算。要求:要检查有关运算的条件,并对错误的条件产生报警。问题分析和建立模型:本题目主要是运用所学知识,用十字链表的方法去表示稀疏矩阵,并使之可以在两矩阵间进行相加。而后,若有错误,则对错误进行警报。框架搭建:1选择 File|New 菜单项,弹出New 对话框,选择Files 标签,选中C+ Source File项,在 File 编辑器中输入项目名称 “十字链表表示稀疏矩阵实现加法”,在 Location 编辑框中输入项目所在目录, 按下 OK按钮即可。2在操作界面中输入,程序代码。(1)结构体和共用体的定义#include #
2、include #define smax 45 typedef int datatype; typedef struct lnode (2)建立稀疏矩阵的函数,返回十字链表头指针int i,j; struct lnode *cptr,*rptr; union 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - struct lnode *next; datatype v; uval; link; int flag=0; 建立十字链表
3、头结点head=(link *)malloc(sizeof(link); 建立头结点循环链表for(i=1;ii=0;p-j=0; p-rptr=p;p-cptr=p; cpi=p; cpi-1-uval.next=p; cps-uval.next=head; for(k=1;ki=i;p-j=j;p-uval.v=v; q=cpi; while(q-rptr!=cpi)&(q-rptr-jrptr; p-rptr=q-rptr; q-rptr=p; q=cpj; while(q-cptr!=cpj)&(q-cptr-icptr; p-cptr=q-cptr; q-cptr=p; return
4、 head; (4)输出十字链表的函数link *p,*q; p=(link *)malloc(sizeof(link); p-i=i;p-j=j;p-uval.v=v; q=cpi; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - while(q-rptr!=cpi)&(q-rptr-jrptr; p-rptr=q-rptr; q-rptr=p; q=cpj; while(q-cptr!=cpj)&(q-cptr-icptr
5、; p-cptr=q-cptr; q-cptr=p; (5)定义两个矩阵的非零元素,及两个矩阵的行和列数。然后输入非零元素。将两个用十字链表表示的稀疏矩阵显示出来。void print(link *a) link *p,*q,*r; int k,col,t,row; col=a-j; printf( 矩阵为: n); p=a-uval.next; while(p!=a) q=p-rptr; if(q=a-cptr)break; r=p; while(q!=p) for(k=1;kj-(r-j);k+) printf( 0); printf(%3d,q-uval.v); q=q-rptr; r=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年采用十字链表表示稀疏矩阵 并实现矩阵的加法运算 2022 采用 十字 表表 稀疏 矩阵 实现 加法 运算
限制150内