1 / 17 数据结构实验报告2 / 17 实验一杨辉三角形 (Pascal ’s triangle) 一、 需求分析1
输入的形式和输入值的范围本程序中,需输入的杨辉三角级数level 为正整数,由键盘输入,以回车结束2
输出的形式通过屏幕输出杨辉三角3
程序所能达到的功能用户从键盘输入需要的杨辉三角级数,从屏幕输出杨辉三角4
测试数据输入: 5 输出:1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 二、 概要设计以链队列结构实现该实验1
抽象数据类型定义ADT Queue { 数据对象: D = { ai | ai∈ElemSet , i = 1,2,⋯,n,n≥0 } 数据关系: R1={ | ai-1 , ai∈D, i=2,⋯,n} 约定其中 ai 端为队列头, an 端为队列尾基本操作:InitQueue ( &Q ) 操作结果:构造一个空队列Q DestroyQueue ( &Q ) 初始条件:队列Q 已存在3 / 17 操作结果:队列Q 被销毁,不再存在ClearQueue ( &Q ) 初始条件:队列Q 已存在操作结果:将 Q 清为空队列QueueEmpty ( Q ) 初始条件:队列Q 已存在操作结果:若 Q 为空队列,则返回TRUE,否则 FALSE QueueLength ( Q ) 初始条件:队列Q 已存在操作结果:返回Q 的元素个数,即队列长度GetHead ( Q , &e ) 初始条件: Q 为非空队列操作结果:用 e 返回 Q 的队头元素EnQueue ( &Q , e ) 初始条件:队列Q 已存在操作结果:插入元素e 为 Q 的新队尾元素DeQueue ( &Q , &e ) 初始条件: Q 为非空队列操作结果:删除Q 的队头元素,并用e 返回其值QueueTraverse ( Q , vis