实验三 队列实现杨辉三角_用队列实现杨辉三角

2020-02-27 其他范文 下载本文

实验三 队列实现杨辉三角由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“用队列实现杨辉三角”。

实验3队列实现杨辉三角

一、实验目的1.熟悉队列的逻辑结构。2.回顾常用的存储结构。

3.掌握System.Collection.Queue类的使用方法。

4.熟悉队列的几种典型应用,用队列来解决一些编程问题。5.用循环队列实现杨辉三角并测试。

二、实验内容

杨辉三角是除了每一行的第一个元素和最后一个元素是1,其他元素的值是上一行与之相邻的两个元素之和。

1.实现循环队列类 a)两个构造函数 b)入队 c)出队

2.用顺序循环队列实现杨辉三角(一)程序分析 2.1存储结构

用一片连续的存储空间来存储循环队列中的数据元素,即采用顺序存储的方式。2.2 关键算法分析 1.出队

1)自然语言描述: a.判断队列是否空 b.如果队列空,抛出异常 c.如果队列不空,则

i.ii.iii.元素出队 移动对头指针 队列长度减1 代码描述:

publicvirtualobjectDequeue()//出队 {

} if(this._size == 0){ //队下溢

} object obj2 = this._array[this._head];//出队 this._array[this._head] = null;//删除出队元素 //移动队头指针

this._head =(this._head + 1)% this._array.Length;this._size--;return obj2;thrownewInvalidOperationException(“队列为空”);时间复杂度:O(1)2.入队

自然语言描述:

d.判断队列是否满 e.如果队列满,则扩容 f.如果队列不满,则

a)元素入队 b)移动队尾指针 c)队列长度加1 代码描述:

publicvirtualvoidEnqueue(objectobj)//入队 {

} if(this._size == this._array.Length)//当数组满员时 { //计算新容量

} this._array[this._tail] = obj;//入队

this._tail =(this._tail + 1)% this._array.Length;//移动队尾指针 this._size++;int capacity =(int)((this._array.Length * this._growFactor)/ 100L);if(capacity

} this.SetCapacity(capacity);//调整容量 capacity = this._array.Length + _MinimumGrow;时间复杂度:O(1)3.打印杨辉三角

自然语言描述: 要定义的变量:

1)行:n

2)列:

i.ii.空格 j 数值

k 3)左肩:left 4)右肩:right 代码描述:

三、程序运行结果

四、实验心得

1.调试时出现的问题及解决的方法

2.心得体会

3.下一步的改进

《实验三 队列实现杨辉三角.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
实验三 队列实现杨辉三角
点击下载文档
相关专题 用队列实现杨辉三角 队列 杨辉三角 用队列实现杨辉三角 队列 杨辉三角
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文