第1关:基于三元表顺序存储的稀疏矩阵的转置与输出(测试)
任务描述
本关任务:写一个程序,使用三元组顺序表存储一个稀疏矩阵,然后求出其转置矩阵并输出。
相关知识
为了完成本关任务,你需要掌握:
1.三元组顺序表存储稀疏矩阵的方法;
2.TSMatrix类型的定义。
(1)三元组结点定义
#define MAX_SIZE 101
typedef int elemtype ;
typedef struct
{ int i ; /* 行下标 /
int j ; / 列下标 /
Elemtype e; / 元素值 /
}Triple ;
(2) 三元组顺序表定义
typedef struct
{ int mu ; / 行数 /
int nu ; / 列数 /
int tu ; / 非0元素个数 */
Triple data[MAX_SIZE+1] ; //data[0]不用
}TSMatrix ;
3.矩阵转置算法示例如下:
void TransMatrix(TSMatrix M , TSMatrix &T)
{ int p , q , col ;
T.mu=M.nu ; T.nu=M.mu ; T.tu=M.tu ;
/* 置三元组表T.data的行、列数和非0元素个数 /
if (T.tu0) printf(“ The Matrix M=0\n” );
else
{ q=1;
for (col=1; col<=M.nu ; col++)
/ 每循环一次找到