| 查看: 842 | 回复: 1 | ||
lelemaoer金虫 (初入文坛)
|
[求助]
请教《数据结构》,建立稀疏矩阵的十字链表算法。
|
|
#include #include typedef int ElementType; typedef struct OLNode /*十字链表的结构类型定义如下:*/ { int row,col; /*非零元素的行和列下标*/ ElementType value; struct OLNode *right,*down; /*非零元素所在行表、列表的后继链域*/ }OLNode,*OLink; typedef struct { OLink *row_head,*col_head; /*行、列链表的头指针向量*/ int m,n,len; /*稀疏矩阵的行数、列数、非零元素的个数*/ }CrossList; void CreateCrossList(CrossList *M) { int m,n,t; OLNode *p,*q; int i,j,e,k; printf("输入M的行数,列数,和非零元的个数:" ; /*采用十字链表存储结构,创建稀疏矩阵M*/scanf("%d,%d,%d",&m,&n,&t); /*输入M的行数,列数和非零元素的个数*/ M->m=m; M->n=n; M->len=t; if( !(M->row_head=(OLink*)malloc( (m+1)*sizeof(OLink)) )) printf("error" ;if( !(M->col_head=(OLink *)malloc( (n+1)*sizeof(OLink)) )) printf("error" ;for(k=1;k<=m;k++) M->row_head[k]=NULL; for(k=1;k<=n;k++) M->col_head[k]=NULL; /*初始化行、列头指针向量,各行、列链表为空的链表*/ printf("输入各非零元素行,列和值,逗号隔开!\n" ;for( scanf("%d,%d,%d",&i,&j,&e);i!=0;scanf("%d,%d,%d",&i,&j,&e) ) { if( !(p=(OLNode *)malloc(sizeof(OLNode))) ) printf("error" ;p->row=i; p->col=j; p->value=e; if(M->row_head==NULL) /*生成结点*/ M->row_head=p; else /*寻找行表中的插入位置*/ { for(q=M->row_head; q->right&&q->right->col p->right=q->right; q->right=p; /*完成插入*/ } if(M->col_head[j]==NULL) M->col_head[j]=p; else /*寻找列表中的插入位置*/ { for(q=M->col_head[j]; q->down&&q->down->rowdown); /*空循环体*/ p->down=q->down; q->down=p; /*完成插入*/ } } } main() { CrossList M; CreateCrossList(&M); } |
» 猜你喜欢
博士读完未来一定会好吗
已经有21人回复
导师想让我从独立一作变成了共一第一
已经有5人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有11人回复
读博
已经有4人回复
JMPT 期刊投稿流程
已经有4人回复
心脉受损
已经有5人回复
Springer期刊投稿求助
已经有4人回复
小论文投稿
已经有3人回复
Bioresource Technology期刊,第一次返修的时候被退回好几次了
已经有9人回复
申请2026年博士
已经有6人回复
» 本主题相关价值贴推荐,对您同样有帮助:
请教:数学专业访问学者的申请是不是比其他专业的难度要大?
已经有6人回复
请教如何定量表征纳米颗粒自组装?
已经有3人回复
请教各位大侠均匀设计实验方案7因素,6水平
已经有9人回复
请教各位大侠均匀设计实验方案
已经有9人回复
请问哪位大牛懂得"Light's associativity test"算法?可否简单讲解一下
已经有3人回复
matlab中建立稀疏矩阵组并操作
已经有4人回复
【求助】发烟硫酸折合成硫酸的质量分数的算法
已经有13人回复
【求助】请教电子探针数据如何分析!
已经有8人回复
【求助】关于介孔孔分布用BJH算法还是DFT算法?
已经有28人回复
yalefield
金虫 (文坛精英)
老汉一枚
- 程序强帖: 3
- 应助: 129 (高中生)
- 贵宾: 0.17
- 金币: 21238.9
- 散金: 3440
- 红花: 66
- 帖子: 12101
- 在线: 759.1小时
- 虫号: 96063
- 注册: 2005-10-07
- 专业: 高等教育学
- 管辖: 计算模拟
2楼2012-07-10 15:22:44













; /*采用十字链表存储结构,创建稀疏矩阵M*/
回复此楼