- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
数据结构大型实验实验报告
目录
第一部分实验内容分析及实验准备3
1.问题描述3
2实验目的3
3.实验基本要求3
4.开发环境4
5.实验主要思路4
主要程序4
运算4
6.基本数据结构、类4
基本数据结构采用:链表(List)容器4
链表类List的部分说明以及常用源码4
大整数类BigInt说明以及部分源码6
Cal类7
BigInt类大数运算实现:7
7.程序流程图14
第二部分实验验证分析及测试结果15
1.程序所能达到的功能:15
2.输入形式和输入值范围15
3.输出形式15
4.测试数据16
正确结果数据示例16
错误信息输出的格式示例18
第三部分调试分析19
调试过程中的主要技术问题以及具体的解决方法19
技术难点分析19
印象最深刻的3个调试错误,及修正方法20
第四部分附录20
2
数据结构大型实验实验报告
第一部分实验内容分析及实验准备
1.问题描述
密码学分为两类密码:对称密码和非对称密码。对称密码主要用于数据的加/解
密,而非对称密码则主要用于认证、数字签名等场合。非对称密码在加密和解密
时,是把加密的数据当作一个大的正整数来处理,这样就涉及到大整数的加、减、
乘、除和指数运算等,同时,还需要对大整数进行输出。请采用相应的数据结构
实现大整数的加、减、乘、除和指数运算,以及大整数的输入和输出。
2实验目的
1)掌握双向循环链表的设计以及逻辑特征;
2)掌握迭代器的设计以及操作;
3)能熟练通过迭代器完成双向循环链表的插入、删除、遍历以及其他复杂应用;
3.实验基本要求
1)要求采用链表来实现大整数的存储和运算,不允许使用标准模板类的链表类
(list)和函数。同时要求可以从键盘输入大整数,也可以文件输入大整数,大
整数可以输出至显示器,也可以输出至文件。大整数的存储、运算和显示,
可以同时支持二进制和十进制,但至少要支持十进制。大整数输出显示时,
必须能清楚地表达出整数的位数。测试时,各种情况都需要测试,并附上测
试截图;
2)要求大整数的长度可以不受限制,即大整数的十进制位数不受限制,可以为
十几位的整数,也可以为500多位的整数,甚至更长;
3)大整数的运算和显示时,只需要考虑正的大整数。如果可能的话,请以秒为
单位显示每次大整数运算的时间;
4)要求采用类的设计思路,不允许出现类以外的函数定义,但允许友元函数。
主函数中只能出现类的成员函数的调用,不允许出现对其它函数的调用。
5)要求采用多文件方式:.h文件存储类的声明,.cpp文件存储类的实现,主函
数main存储在另外一个单独的cpp文件中。如果采用类模板,则类的声明
和实现都放在.h文件中。
6)要求源程序中有相应注释;
7)不强制要求采用类模板,也不要求采用可视化窗口;
8)要求测试例子要比较详尽,各种极限情况也要考虑到,测试的输出信息要详
细易懂,表明各个功能的执行正确;
9)要求采用VisualC++6.0及以上版本进行调试;
3
数据结构大型实验实验报告
4.开发环境
本次实验的开发环境为:
操作系统:
–OSX10.9.5
IDE:
–Xcodeversion6.1.1
开发语言:
–C++(withC++11Standard)
实验报告绘图:
–EdrawMaxV7.3
5.实验主要思路
主要程序
根据题目要求,此次需要实现一
文档评论(0)