#include"stdio.h"#include"stdlib.h"#defineOK1#defineERROR-1#defineOVERFLOW-2//压缩矩阵的顺序存储表示typedefint Status;typedefint Elem;#defineMAXSIZE100//非零元个数的最大值为100typedefstruct{
/*
定义矩阵中一个非零元的结构
i为行下标 j为列下标 e为该元素的值
*/int i, j;
Elem e;}Triple;typedefstruct{
/*
定义矩阵的结构
data为压缩矩阵,data[0]未被占用
mu nu tu 矩阵的行数、列数和非零元个数
*/
Triple data[MAXSIZE +1];//非零元三元组表,data[0]未被占用int mu, nu, tu;//矩阵的行数、列数和非零元个数 }TMatrix;//基本操作的函数原型说明---------------------------- //创建矩阵
Status CreateTMatrix(TMatrix &M);//销毁矩阵
Status DestoryTMatrix(TMatrix &M);//输出矩阵
Status PrintTMatrix(TMatrix &M);//转置矩阵
Status TransposeTMatrix(TMatrix M, TMatrix &T);//快速转置矩阵
Status FastTransposeTMatrix(TMatrix M, TMatrix &T);//菜单voidmenu(){
printf("1-----创建矩阵\n");printf("2-----销毁矩阵\n");printf("3-----输出矩阵\n");printf("4-----转置矩阵\n");printf("5-----快速转置矩阵\n");printf("-----退出输出一个负数!\n");}//主函数--------------------------------------- intmain(){
//初始化int i =0;
TMatrix M;
TMatrix T;int choice;while(1){
//菜单menu();printf("请输入你要进行的操作:");scanf("%d",&choice);if(choice <=0){
printf("退出成功\n");return0;}switch
压缩矩阵的转置#include"stdio.h"#include"stdlib.h"#define OK 1#define ERROR -1#define OVERFLOW -2//压缩矩阵的顺序存储表示typedef int Status;typedef int Elem;#define MAXSIZE 100//非零元个数的最大值为100typedef struct{ /* 定义矩阵中一个非零元的结构 i为行下标 j为列下标 e为该元素的值 */ int i, j