数据结构实习上机

数据结构实习上机

ID:47562619

大小:505.09 KB

页数:51页

时间:2019-09-19

数据结构实习上机_第1页
数据结构实习上机_第2页
数据结构实习上机_第3页
数据结构实习上机_第4页
数据结构实习上机_第5页
资源描述:

《数据结构实习上机》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、上机实习报告班号:姓名:119131高訓学号:20424001776实习报告【实习一】线性表及其应用n(n>20)的阶乘【问题描述】大数运算一一计算n的阶乘(n>=20)o【基本要求】数据的表示和存储;累积运算的中间结果和最终的计算结果的数据类型要求是整型一一这是问题本身的要求;试设计合适的存储结构,要求每个元素或结点最多存储数据的3位数值。【问题分析】(1)设计数据的存储结构:介于阶乘运算的精确性以及实型数据表示的不精确性,本题不能采用实型表示累积运算的中间结果和最终的计算结果,而只能用整型。然而由

2、于普通整型和长整型所能表述数的范围受其字长的限制,不能表示大数阶乘的累积结果,故必须设计一个合适的数据结构实现对数据的存储,例如可以让每个元素或结点存储数据的若干位数值。从问题描述不难看出n值为任意值,故为使程序尽量不受限制,应釆用动态存储结构。(2)数据的操作及其实现:(2.1)累积运算的特点是当前的计算结果是下次乘法运算的乘数;(2.2)实现两个数的乘法运算须考虑:(4)乘数的各位数都要与被乘数进行乘法运算;乘法过程中的进位问题及其实现;因每个元素或结点最多存储数据的3位数值,故当元素或结点中的数

3、值大于999,需向前一个元素或结点进位。【算法实现的源代码】1.链表型数据乘法//大数据.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#includeusingnamespacestd;templateclassChain;templateclassChainNode{friendChainvT>;private:Tdata;ChainNode*lin

4、k;};templateclassChainpublic:Chain(){first=O;};〜Chain();boollsEmpty()const{returnfirst==O;}intLength()const;boolFind(intk,T&x);Chain&lnsert(intk,constT&x);Chain&Change(intk,Tx);Chain&Delete(intk,T&x);Chain&Search(constT&x)const;intOu

5、tPut();private:ChainNode*first;};***★★**★************/**************析构函数(删除链表的所有节点)templateChainvT>::~Chain(){ChainNode*next;while(first){next=first->link;deletefirst;first=next;}}**********************确定链表的长度*/templateintChainvT>:

6、:Length()constChainNode*current=first;intlen=0;while(current)len++;current=current->link;}returnlen;*********************在链表中查找第K个元素*************************templateboolChain::Find(intk,T&x){ChainNode*current=first;intindex=0;while(inde

7、xvk&¤t){current=current->link;index++;}if(current){x=current->data;returntrue;}returnfalse;}*********************向链表中插入元素*************************templateChain&Chain::lnsert(intk,constT&x){ChainNode*p=first;for(intindex=1:index

8、&p;index++)p=p->link;ChainNode*y=newChainNode;y->data=x;if(k){y->link二p・>link;p->link二y;}else{y->link=first;first=y;}return*this;*****★*★★*★★**★**★*★改变链表第k个元素的值***********************templateChain&Chain::Chang

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。