头文件
#include<stdio.h>
#include<stdlib.h>
#define OK 1
#define ERROR 0
#define OVERFLOW 0
typedef int ElemType;
typedef int Status;
结构体
typedef struct {
int i,j ; //非零元的行和列
ElemType e ; //非零元的值
} Triple; //三元组
typedef struct {
Triple *data; //非零元三元组表。0号单元未用
int mu ,nu ,tu ; //矩阵的行数、列数和非零元的个数
} TSMatrix ; //三元组顺序表
//num[j]统计矩阵A的a.data中第j列非零元素的个数
//cpos[j]表示矩阵A的a.data中第j列的第一个非零元在b.data中的起始位置
//矩阵A中第j列的起始位置等于第j-1列的起始位置加上第j-1的非零元的个数
矩阵的快速转置
Status FastTransposeSMatrix(TSMatrix M,TSMatrix &T){
//采用三元组表存储表示,求稀疏矩阵M的转置矩阵T
int j, q,k,p;
int *num ,*cpos;
T.mu = M.nu; T.nu=M.mu; T.tu=M.tu;
if(T.tu!=0){
T.data = (Triple *)malloc((T.tu+1) * sizeof