统计方法在证券投资风险中的应用

上传人:桔**** 文档编号:476016528 上传时间:2022-12-08 格式:DOC 页数:11 大小:143.50KB
返回 下载 相关 举报
统计方法在证券投资风险中的应用_第1页
第1页 / 共11页
统计方法在证券投资风险中的应用_第2页
第2页 / 共11页
统计方法在证券投资风险中的应用_第3页
第3页 / 共11页
统计方法在证券投资风险中的应用_第4页
第4页 / 共11页
统计方法在证券投资风险中的应用_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《统计方法在证券投资风险中的应用》由会员分享,可在线阅读,更多相关《统计方法在证券投资风险中的应用(11页珍藏版)》请在金锄头文库上搜索。

1、实验报告五 递归及队列班级: 2010251 姓名: 李鑫 学号: 20103277 专业: 信息安全 一、 实验目的:(1) 掌握递归的基本思想。(2) 掌握链式队列及循环队列的基本操作算法。(3) 应用队列先进先出的特点,解决一些实际问题。二、 实验内容:1、 p(a-b,b)+1 当a=bp(a,b)= 其中a,b为正整数。 0 当ab利用递归设计此函数。#include int p(int a,int b)if (ab)return 0;return p(a-1,b)+1;void main()int a,b;cout请输入整数a和b:ab;coutp(a,b)=p(a,b)endl;

2、粘贴测试数据及运行结果:2、Ackerman函数如下: n+1 当m=0akm(m,n)= akm(m-1,1) 当m0,n=0 akm(m-1,akm(m,n-1) 其它情形利用递归设计此函数。试求akm(1,2),akm(2,1)?#include int akm(int m,int n)if (m=0)return n+1;else if (m!=0&n=0)return akm(m-1,1);elsereturn akm(m-1,akm(m,n-1);void main()coutakm(1,2)=akm(1,2)endl;coutakm(2,1)=akm(2,1)endl;粘贴测试数

3、据及运行结果:3、循环队列的实现(请采用模板类及模板函数实现)实现提示 同时可参见教材p96-p98页的ADT描述及算法实现及ppt)函数、类名称等可自定义,部分变量请加上学号后3位。也可自行对类中所定义的操作进行扩展。所加载的库函数或常量定义及类的定义:#include#include template class DCirQueuepublic:DCirQueue(int size=10);/构造DCirQueue();/delete queue;/析构void EnQueue(T x);/入队int Count();/获得元素个数T DeQueue();/出队void Print();/

4、遍历输出void Clear();/清空队列int IsEmpty();/为空吗T Getfront();/获得队头元素private:T *queue;/队列数组int front,rear;/指示头尾位置int maxsize;/队列容量;(1)构造一个空的循环队列 输入:队列元素存储区域的大小size;动作:初始化队列,队头及队尾指示器,申请存储队列的数组,设置队列存储区域的大小maxsizetemplate DCirQueue:DCirQueue(int size):front(0),rear(0),maxsize(size)queue=new Tmaxsize;if (queue=N

5、ULL)throw 动态分配内存失败!;(2)入队操作算法实现:输入:要入队的元素x;前置条件:队列未满动作:把x插入队尾输出:无后置条件:队列中增加了一个元素template void DCirQueue:EnQueue(T x)if (rear+1)%maxsize=front)throw 队满!;rear=(rear+1)%maxsize;queuerear=x;(3)求队列的元素个数算法输入:无前置条件:无;动作:求队列的元素个数,含表空返回个数为零的情况。输出:返回队列的元素个数。template int DCirQueue:Count()if (front=rear)return

6、0;return (rear+maxsize-front)%maxsize;(4)出队操作算法输入:无前置条件:队列非空动作:删除队头元素输出:返回队头元素的值后置条件:队列中删除了一个元素template T DCirQueue:DeQueue()if (rear=front)cout队列为空!endl;return 0;elsefront=(front+1)%maxsize;return queuefront;(5)遍历队列算法输入:无前置条件:队列非空动作:输出队列中的各元素输出:无后置条件:无template void DCirQueue:Print()int p=front;if (

7、rear=front)cout队列为空!endl;elsefor (;p%maxsize!=rear;p+)coutqueue(p+1)%maxsize ;(6)清空队列算法输入:无前置条件:队列存在动作:释放队列的存储空间输出:无后置条件:队列不存在template void DCirQueue:Clear()if(rear=front)cout队列为空!endl;elsedelete queue;cout清空队列成功!endl;(7)判队列为空算法输入:无前置条件:队列存在动作:判是否为空输出:空返回1,否则返回0后置条件:无template int DCirQueue:IsEmpty()

8、if(rear=front)return 1;return 0;/return rear=front;(8)获得队列头结点输入:无前置条件:队列存在动作:获得队头的元素输出:返回队头的元素值后置条件:无template T DCirQueue:Getfront()if(rear=front)cout队列为空!endl;elsereturn queue(front+1)%maxsize;粘贴测试数据及运行结果:void main()int s=1,2,3,4,5,6,7,8,9,10;int n=10;DCirQueue myqueue(20);for(int i=0;in;i+)myqueue

9、.EnQueue(si);cout队列为:endl;myqueue.Print();coutendl队列元素个数为:myqueue.Count()endl;cout出队第一个元素为:myqueue.DeQueue()endl;cout取得队头元素为:myqueue.Getfront()endl;cout队列为空吗(1,为空;0,不为空):myqueue.IsEmpty()endl;cout清空队列!endl;myqueue.Clear();4、链式队列的基本操作算法实现(请采用模板类及模板函数实现)实现提示 同时可参见教材p98-p99页的ADT描述及算法实现及ppt)函数、类名称等可自定义,

10、部分变量请加上学号后3位。也可自行对类中所定义的操作进行扩展。所加载的库函数或常量定义及类的定义:(自选择带头结点或不带头结点)#include#include template struct Node T data;Node *next;template class LinkQueuepublic:LinkQueue();/构造LinkQueue(T a,int n);/带参构造LinkQueue();/析构void EnQueue(T x);/入队T DeQueue();/出队void Clear();/清空int IsEmpty();/是否为空T Getfront();/获得队头void

11、 Print();/遍历输出int Count();/获得元素个数private:Node *front,*rear;/头尾指针int count;/计数器;(1)初始化链式空队列关键动作:初始化队列,设置队头及队尾指示器。 template LinkQueue:LinkQueue()front=rear=NULL;count=0;(2)带参数的构造函数,实现创建链式队列输入:存储放初始数据元素的数组a,元素个数n前置条件:队列不存在动作:把a中的数据元素依次插入队尾输出:无后置条件:队列中有n个元素入队template LinkQueue:LinkQueue(T a,int n)front=rear=NULL;count=0;Node *s=new Node;s-data=a0;s-next=NULL;front=rear=s;count+;for(int i=1;in;i+)Node *p=new Node;p-data=ai;p-next=NULL;rear-next=p;rear=rear-next;count+;(3)入队操作算法输入:要入队的元素x;前置条件:队列未满/错误动作:把x插入队尾输出:无后置条件:队列中增加了一个元素template void LinkQueue:EnQueue(T x)if (front=NU

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号