版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构---三元组顺序表------稀疏矩阵的转置和快速转置数据结构---三元组顺序表------稀疏矩阵的转置和快速转置数据结构---三元组顺序表------稀疏矩阵的转置和快速转置xxx公司数据结构---三元组顺序表------稀疏矩阵的转置和快速转置文件编号:文件日期:修订次数:第1.0次更改批准审核制定方案设计,管理制度数据结构---三元组顺序表------稀疏矩阵的转置和快速转置#include<>#include<>#include<>#defineTURE1#defineFALSE0#defineOK1#defineERROR0#defineINEEASLIBE-1#defineOVERFLOW-2#definemaxsize100typedefintstatus;typedefintelemtype;typedefstruct{ inti,j; elemtypee;}elem;typedefstruct{ elemdata[maxsize+1]; intmu,mn,tu;}matrix;statusshowmatrix(matrixM){ inti,j,k=1; for(i=1;i<=;i++) { for(j=1;j<=;j++) { if(i==[k].i&&j==[k].j) { printf("%d\t",[k].e); k++; } else printf("0\t"); } printf("\n"); } returnOK;}statustrans(matrixM,matrix&T){ inti=1,j=1,k=1; =; =; =; while(i<= { for(;k<=;k++) if[k].j==i) { [j].e=[k].e; [j].i=[k].j; [j].j=[k].i; j++; } k=1; i++; } returnOK;}statusinitmatrix(matrix&M){ printf("请输入该矩阵行数mu和列数mn和非零元个数tu\nmu="); scanf("%d",&; getchar(); printf("\nmn="); scanf("%d",&; getchar(); printf("\ntu="); scanf("%d",&; getchar(); if>maxsize) { printf("非零元个数已超过定义的值\n请重新输入tu="); scanf("%d",&; getchar(); } printf("请输入非零元和它所在的行数和列数(矩阵从先从左到右,再从上到下输入)\n"); for(inti=1;i<=;i++) { if(i==1) printf("输入非零元:"); else printf("输入下一个非零元:"); scanf("%d",&[i].e); getchar(); printf("输入该非零元的行数:"); scanf("%d",&[i].i); getchar(); while[i].i>||[i].i<1) { printf("输入的行数不合法\n请重新输入行数:"); scanf("%d",&[i].i); getchar(); } printf("输入该非零元的列数:"); scanf("%d",&[i].j); getchar(); while[i].j>||[i].j<1) { printf("输入的列数不合法\n请重新输入列数:"); scanf("%d",&[i].j); getchar(); } } returnOK;}statusfasttrans(matrixM,matrix&T){ =; =; =; int*num,*pose; num=(int*)malloc*sizeof(int)); pose=(int*)malloc*sizeof(int)); *(pose)=1; inti=1; for(;i<=;i++) *(num+i-1)=0; for(i=1;i<=;i++) { *(num+[i].j-1)=*(num+[i].j-1)+1; } for(i=2;i<=;i++) { *(pose+i-1)=*(pose+i-2)+*(num+i-2); } for(i=1;i<=;i++) { [*(pose+[i].j-1)].i=[i].j; [*(pose+[i].j-1)].j=[i].i; [*(pose+[i].j-1)].e=[i].e; *(pose+[i].j-1)=*(pose+[i].j-1)+1; } returnOK;}main(){ matrixM,T; charc; while(1) { printf("1:初始化矩阵\n2:显示矩阵\n3:普通转置\n4:快速转置\n"); scanf("%c",&c); getchar(); switch(c) { case'1': if(initmatrix(M)==OK) printf("初始化成功\n"); break; case'2': showmatrix(M); break; case'3': trans(M,T); printf("转置后矩阵为:\n"); showmatrix(T
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 泌尿外科患者的术后营养支持护理
- 正常分娩妇女的产后家庭护理
- 抗生素使用中的循证护理实践
- 商业购物中心宠某省市集嘉年华萌宠夏日主题活动策划方案
- 兄弟分家协议书
- 夫妻债务的协议书
- 潍坊市的中考试题及答案
- 2026年慢性肾病脂代谢异常诊疗试题及答案(肾内科版)
- 2026年写字楼公共区域设计合同协议
- 33湖北襄阳市2026年4月高三统一调研测试语文试题及参考答案
- 2026中考语文试题分类汇编《作文》练习题
- 2026年辽宁省二级建造师继续教育复习真题AB卷附答案详解
- 2026年农电工通关题库及参考答案详解【综合题】
- 新型马路划线机设计
- 心理危机干预的操作指南:02 危机干预中的会谈技术
- 困境儿童社会工作实务中的伦理困境及对策探析基于机构困境儿童个案分析
- 第一章 货币与货币流通(金融学课件-中央财经大学,李健)
- 苏州科技大学辅导员考试题库
- 高中作文纸800字模板
- 药物医疗器械临床试验质量管理规范试题及答案
- YC/T 88.2-2006烟草机械喂料机第2部分:技术条件
评论
0/150
提交评论