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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

大数阶乘数据结构算法课程设计Word文件下载.docx

1、ChainNode *link;class Chainpublic:Chain()first=0;Chain();bool IsEmpty()constreturn first=0; int Length()const;bool Find(int k,T&x) ;Chain&Insert(int k,const T&x); Change(int k,T x); Delete(int k, T & Search(const T&x)const; int OutPut();*first;/析构函数(删除链表的所有节点) templatelink; delete first; first=next;

2、/确定链表的长度 template int Chainreturn len;/在链表中查找第 K 个元素 template bool ChainFind(int k,T &x) int index=0; while(indexdata;return true; return false;/向链表中插入元素 Chain*p=first;for(int index=1;index*y=new ChainNodedata=x;if(k)y-link=p-p-link=y;else link=first;first=y;return *this;/改变链表第 k 个元素的值 templateif (p

3、)/删除链表第 k 个元素 template else* p = first;* q = first;k-1&q;q=q-p=q- q-link=p- x=P- delete p; return *this;/搜索第 k 个元素 templatedata !=x)current = current- index +;if(current)return index; return 0;/倒序输出链表 template current=current- index+;index=index-1;cout=0;index-)cout.fill(0);cout.width(3);endl;return

4、 0;int main()int A;int n,i,j,k;int l=0;A.Insert(0,1);please enter a number :cinn;for(i=1;i=n;i+)int m=A.Length();for(j=0;j=1000)if(jm-1)A.Find(j+1,l);else A.Insert(j+1,0); l=0;l+=k/1000;A.Change(j+1,l);k=k%1000;Length = A .Length() cout 阶乘为: A.OutPut();测试数据】(1)n=20, n!=2432902008176640000(2)n=30, n!

5、=265252859812191058636308480000000【运行结果】please enter a number:20Length=7;阶乘为: 2432902008176640000实习题目二算术表达式求值【问题描述】 对一个合法的中缀表达式求值。假设表达式只包含 +、- 、*、/ 四个双目运算符,并且允许有括号出现,运算符 本身不具有二义性。例如: 3.5*(7+2) /(-6)(1)正确解释表达式;(2) 符合四则运算规则:先乘除、后加减从左到右运算先括号内,后括号外(3)输出最后的计算结果【实现关键】两个栈的使用两位数以上、负数、小数点?【实现方式】基本:控制台程序(1)使用

6、两个工作栈:一个栈OPTR存放运算符;stack另一个栈OPND存放操作数;double(2)运算符之间的优先关系可用二维数组(算符优先顺序如下: )+-*/()#=【实现代码】#i nclude #in cludeclass StackStack(int MaxStackSize=10); Stack()delete stack; bool lsEmpty()co nst return top=-1; bool IsFull()c on stretur n top=MaxTop; T Top()c on st;StackvT Add(co nst T &Delete(T &int top;i

7、nt MaxTop;T*stack; template StackStack(int MaxStackSixe) MaxTop=MaxStackSixe-1; stack=new TMaxStackSixe; top=-1; templateT StackTop()constreturn stacktop;Stack=sji-)if(expriexpri) k.Add(expri);k.Delete(a);k.Delete(b); n=Cal(b,expri,a);m=n+k.Add(m); 表达式的值为:(double)k.Top()-48【运行结果】 请输入中缀表达式并以 #结尾 (4+2

8、)/3-4*3后缀表达式为 :42+3/43*- 表达式的值为 : -10实习题目三二叉树基本算法的实现【 功能要求 】实现 Create 方法,要求键盘输入二叉树结点序列,创建一棵二叉树(提示:前 序递归)实现SwapTree方法,以根结点为参数,交换每个结点的左子树和右子树(提示: 前序递归)增加 InorderTree 方法,采用非递归方法实现二叉树的中序遍历 你可以选择:对 BinaryTree 模板进行功能扩充; 自己定义并实现二叉树类 要求键盘输入二叉树结点序列 结点序列可以是前序,也可以是层次 空结点以 #表示【 代码实现 】/ 二叉树 01.cpp : Defines the

9、entry point for the console application./ templateclass BinaryTreeNode;class BinaryTreeBinaryTree()root=0;BinaryTree(const BinaryTree &Tree )copy(Tree.root,root);BinaryTree();bool IsEmpty()constreturn (root)?false:true);void Creat();bool Root (T&void MakeTree(const T&element,BinaryTreeleft,BinaryTre

10、eright);void BreakTree( T&void PreOrder(void (*Visit)(BinaryTreeNode*u)PreOrder(Visit,root);void InOrder(void (*Visit)(BinaryTreeNodeInOrder(Visit,root);void PostOrder(void (*Visit)(BinaryTreeNodePostOrder(Visit,root);void LevelOrder(void(*Visit)(BinaryTreeNode*u);void PreOutput()PreOrder(Output,roo

11、t);void InOutput()InOrder(Output,root);void Postput()PostOrder(Output,root);void LevelOutPut()LevelOrder(Output);void Delete()PostOrder(Free,root);int Height()constreturn Height(root);int Size()constreturn Size(root);BinaryTreeNode*iCreat();bool equal(BinaryTreeTree)return compare(root,Tree.root);vo

12、id swap() swap(root);int leave()return leave(root);int noleave()return noleave(root);*root;void PreOrder(void(*Visit)(BinaryTreeNode*u),BinaryTreeNode*t);void InOrder(void(*Visit)(BinaryTreeNodevoid PostOrder(void(*Visit)(BinaryTreeNode static void Output(BinaryTreeNode* t) coutdata static void Free

13、(BinaryTreeNode*t)delete t;int Height(BinaryTreeNode*t)const;int Size(BinaryTreeNodebool compare(BinaryTreeNode*t1,BinaryTreeNode*t2);void copy(const BinaryTreeNode*&t2);void swap(BinaryTreeNode int leave(BinaryTreeNode int noleave(BinaryTreeNode class LinkedQueue; class Node friend LinkedQueue private:Node*link; class LinkedQueue public:LinkedQueue() front=rear=0;LinkedQueue(); bool IsEmpty()constreturn (front)?bool IsFull()const;T First()const;T Last()const;LinkedQueueAdd(const T &*front; Node

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

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