数据结构课程设计稀疏矩阵实现与应用题库.docVIP

  • 16
  • 0
  • 约 22页
  • 2016-08-30 发布于湖北
  • 举报

数据结构课程设计稀疏矩阵实现与应用题库.doc

安徽省巢湖学院计算机与信息工程学院 课程设计报告 课程名称 《数据结构》 课题名称 稀疏矩阵实现与应用 专 业 计算机科学与技术 班 级 学 号 姓 名 联系方式 指导教师 20 11 年 12 月 25 日 目 录 1、数据结构课程设计任务书1 1.1、题目1 1.2、要求1 2、总体设计1 2.1、功能模块设计 2.2、所有功能模块的流程图 3、详细设计 3.1、程序中所采用的数据结构及存储结构的说明0 3.2、算法的设计思想0 3.3、稀疏矩阵各种运算的性质变换0 4、调试与测试:0 4.1、调试方法与步骤:0 4.2、测试结果的分析与讨论:1 5、时间复杂度的分析:2 6、源程序清单和执行结果2 7、C程序设计总结0 8、致谢0 9、参考文献0 1、数据结构课程设计任务书 1.1、题目 实现三元组,十字链表下的稀疏矩阵的加、转、乘的实现。 1.2、要求 2、总体设 2.1、功能模块设 2.2、所有功能模块的流程图 详细设计 typedef struct { int i, j; int e; } Triple; // 定义三元组的元素 typedef struct { Triple data[MAXSIZE + 1]; int mu, nu, tu; } TSMatrix; // 定义普通三元组对象 typedef struct { Triple data[MAXSIZE + 2]; int rpos[MAXROW + 1]; int mu, nu, tu; } RLSMatrix; // 定义带链接信息的三元组对象 typedef struct OLNode { // 定义十字链表元素 int i, j; int e; struct OLNode *right, *down; // 该非零元所在行表和列表的后继元素 } OLNode, *OLink; // 定义十字链表元素 typedef struct { // 定义十字链表对象结构体 OLink *rhead, *chead; int mu, nu, tu; // 系数矩阵的行数,列数,和非零元素个数 } CrossList; // 定义十字链表对象结构体 2.主函数 int main() { int t; cout.fill(*); cout setw(80) *; cout.fill( ); cout setw(50) ***欢迎使用矩阵运算程序*** endl; //输出头菜单 cout.fill(*); cout setw(80) *; cout.fill( ); cout 请选择要进行的操作: endl; cout 1:矩阵的转置。 endl; cout 2:矩阵的加法。 endl; cout 3:矩阵的乘法。 endl; cout 4:退出程序。 endl; while(t) { cout请输入您要进行的操作:endl; cint; switch(t) { case 1: TransposeSMatrix(); //调用矩阵转置函数 break; case 2: AddSMatrix(); //调用矩阵相加函数 break; case 3: MultSMatrix(); //调用矩阵相乘函数 break; case 4: t=0; break; } } return 0; } 矩阵的转置函数 bool TransposeSMatrix() // 求矩阵的转置矩阵 { TSMatrix M, T; //定义预转置的矩阵 InPutTSMatrix(M, 0); //输入矩阵 int num[MAXROW + 1]; int cpot[MAXROW + 1]; // 构建辅助数组 int q, p, t;

文档评论(0)

1亿VIP精品文档

相关文档