ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:35.24KB ,
资源ID:22700676      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22700676.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验报告大整数Word文档下载推荐.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验报告大整数Word文档下载推荐.docx

1、抽象数据类型线性表的定义如下:ADT List 数据对象:D ai | ai ElemSet, i=1,2,.,n, n0 称 n 为线性表的表长; 称 n=0 时的线性表为空表。数据关系:R1 |ai-1 ,aiD, i=2,.,n 设线性表为 (a1,a2, . . . ,ai,. . . ,an), 称 i 为 ai 在线性表中的位序。基本操作: ADT ListLinkList LNode *head; / 头指针(带头结点) LNode *tail , *cur; / 尾指针, 当前指针 /int length; / 链表长度 bool Init(); / 初始化 初始条件:无 操作

2、结果:初始化 void Clear(); 已存在 / 清除单链表 void Create(int n); 初 始条件:无 / 建立含n个结点的单链表 int Locate(int e); / 查找/ 清除线性表 void InsertBefore(int i, int e);/ 插入元素初始条件: bool Delete(int i,int &e); / 删除元素 void Traverse(); / 遍历,并输出内容 bool Empty();/ 判断空表 bool GetElem(int i,int & /获取元素void createlistbyorder(string s);/字符串创

3、建链表; LinkList2、主程序的处理流程 int main() 线性表LA,LB,LC初始化; 读入2个字符串; 将这2个字符串创建成链表; 分别用2个指针指向线性表表头; 进行运算; 遍历被插入的链表LC(即输出运算结果); return 0;三、详细设计1、线性表的实现struct LinkList / 初始化 / 清除线性表 / 建立含n个结点的单链表 / 遍历,并输出内容 / 判断空表 bool GetElem(int i,int & void createlistbyorder(string s); /字符串创建链表bool LinkList:Init( ) head=new

4、LNode; head-next=NULL; return true;void LinkList:InsertBefore(int i, int e) LNode *p=head; while (p-next!=NULL & i1) p=p-next; i-; if (p=NULL | i data = e;next = p- p-next = s;Delete (int i, int &e) int j=0; j +j; / 寻找第 i 个结点,并令 p 指向其前趋 if (!(p-next) | j i-1) return false; / 删除位置不合理 LNode *q = p-nex

5、t = q- / 删除并释放结点 e = q-data; delete q;Clear() LNode *p; while (head-=NULL) p=head- head-next=p- int LinkList:Locate(int e) LNode *p=head- while(p!=NULL&p-data!=e) j+; return j;Create(int n) head = new LNode;next =NULL; / 先建立一个带头结点的单链表 for (int i = n; i 0; - LNode *p = new LNode; cin / 输入元素值 p-next =

6、 head-next = p; / 插入Traverse()=NULL) coutdatanext=NULL) return true; else return false;GetElem(int i,int &e)/获取元素 if(icreatelistbyorder(string s) for(int i=0;idata=si-0;next=q;3、主程序int main() LinkList LA,LB,LC; LA.Init( ); LB.Init( ); LC.Init( ); string s1,s2; cins1s2; LA.createlistbyorder(s1); LB.c

7、reatelistbyorder(s2); LNode *it1=LA.head- LNode *it2=LB.head- int carry=0; while(it1!=NULL | it2! int c=carry; if(it1! c=c+it1- it1=it1- if(it2! c=c+it2- it2=it2- carry=c/10; c=c%10; LC.InsertBefore(1,c); if(carry0) LC.InsertBefore(1,carry); LC.Traverse(); return 0;测试结果:总代码:#includestringusing names

8、pace std;struct LNode int data; / 数据域 LNode *next; / 指针域 ;实验心得:拿到这个实验,我首先看了老师上课的课件,弄懂能够使这个实验实现的思想:即把输入数据当做2个字符串处理,而后我又发现把字符串转化成线性表处理会更加简单。即把输入的2个字符串转化为线性表LA,LB;然后将他们各个位置对应相加插入线性表LC。实现这个操作需要用到bool Init();这几个函数,因此我又翻看了以前的笔记,将这几个函数在int main()外写好。当我把所有需要的函数写好,在编译没有错误的时候,我进行了数据测试,结果发现只能输入,而不能输出结果,经过数次检查后我仍然找不到错误,然后我又试着用老师教过的调试方法,结果发现输入正确,然而初始化这部并未实现,于是就去上面的函数查找错误,结果发现我在InsertBefore(int i,int e)中创建了一个新链表。而后我改了这个错误,再次运行发现结果正确了,由此,我懂得了做实验应该细心,仔细发现错误,切记不能照搬照抄老师的代码。有时即使编译没有错误,运行结果出来时还是会有错误。所以以后的实验我不仅要细心,更要谨慎。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1