欢迎来到天天文库
浏览记录
ID:9177490
大小:316.98 KB
页数:16页
时间:2018-04-20
《数据结构课程设计多维数组》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、计算机与通信工程学院2015级《数据结构》课程设计实验报告数据结构课程设计多维数组班级学号学生姓名提交日期2017年1月12日成绩计算机与通信工程学院第15页计算机与通信工程学院2015级《数据结构》课程设计实验报告目录第一部分需求分析1.1程序设计的任务21.2程序达到的功能21.3程序功能模块图和流程图21.4测试数据3第二部分详细设计2.1用到的数据类型和数据结构定义42.2各个函数的基本操作和功能42.3各个函数的调用关系52.4主程序思路5第三部分调试分析3.1遇到的问题及解决过程63.2设计过程中学到的知识73.3经验与体会7第四部分用户手册4.1每一
2、步骤的注释说明74.2整体思路7第五部分测试结果5.1测试结果85.2附录-程序源码9第15页计算机与通信工程学院2015级《数据结构》课程设计实验报告第一部分需求分析1.1程序设计的任务1.1.1问题描述设计并模拟实现整型多维数组类型。1.1.2基本要求设计并模拟实现多维数组类型。整型多维数组应具有以下基本功能:(1)定义整型多维数组类型,各维的下标是任意整数开始的连续整数。(2)下标变量赋值,执行下标范围检查。(3)同类型数组赋值。(4)子数组赋值,例如,a[1..n]=a[2..n+1];a[2..4][3..5]=b[1..3][2..4]。(5)确定数组
3、的大小。1.1.3选作内容(1)各维的下标是任意字符开始的连续字符。(2)数组初始化。(3)可修改数组的下标范围。1.2程序达到的功能(1)定义整型多维数组结构体,并定义各维的的结构体。(2)下标变量赋值。(3)同类型数组赋值,不同类型赋值时检查出错误。(4)子数组赋值,例如a[1..n]=a[2..n+1];a[2..4][3..5]=b[1..3][2..4]。(5)确定数组的大小。(6)数组初始化。(7)可修改数组的下标。1.3程序功能模块图和流程图图1程序功能模块图第15页计算机与通信工程学院2015级《数据结构》课程设计实验报告图2.程序流程图1.4测试
4、数据多维数组a:三维;下标[1**2][2**3][3**5];赋值:123456789101112多维数组b:两维;下标[1**2][2**3];赋值:1234多维数组c;三维;下标[2**3][3**4][4**6];赋值:23456789101112查找下标:a[2][3][4],a[1][3][5];替换值为原数值的复制,例如6改为66修改第2维的下标,保证原来数组个数不变第二部分详细设计2.1用到的数据类型和数据结构定义2.1.1第几维数组的结构体定义typedefstruct{ElemTypelower;//定义每维数组的下界第15页计算机与通信工程学
5、院2015级《数据结构》课程设计实验报告ElemTypeupper;//定义每维数组的上界intboundnum;//定义每维数组中元素的个数}Boundi;//定义第i维数组2.1.2多维数组结构体的定义typedefstruct{intdim;//定义多维数组的维数Boundibound[MAXDIM];//定义第i维数组inttotal;//定义数组中元素的个数intelem[MAXTOTAL];//数组中每个元素的地址,其中elem[0]为该多维数组的基址}NArray;//定义多维数组2.2各个函数的基本操作及功能2.2.1NArrayCreatArra
6、y();多维数组创建并初始化函数2.2.2intReplace(NArray&A,NArray&B);两个数组复制的函数2.2.3voidAdjustBound(NArray&A);修改下标的函数2.2.4voidFindSwap(NArray&A);查找并替换的函数2.2.5voidPrintArray(NArrayA);打印输出函数2.2.6intmain();主函数第15页计算机与通信工程学院2015级《数据结构》课程设计实验报告图3.程序子函数主函数截图2.3各个函数之间的调用关系图4.各个函数之间的调用关系2.4主程序思路第15页计算机与通信工程学院20
7、15级《数据结构》课程设计实验报告图5.主程序思路流程图第三部分调试分析3.1遇到的问题及解决过程3.1.1、在replace函数(即数组替换函数)中,当执行替换循环时,代码如下:for(i=0;i8、算机与通信
8、算机与通信
此文档下载收益归作者所有