链表结构的队列上机报告
一. 需求分析
1 菜单安排:菜单的显示在窗口的最上端,菜单背景颜色为蓝色,颜
色为红色,这样能给人较强的视觉冲击力。菜单项退出,建队,销队,入
队,求长,判空,输出队列元素,并分别由 0 到 7 个数字控制。菜单横向
排列,每个功能项都有相应的输出提示信息与用户进行交互。如果输入的
信息不符合要求,会提示相应的信息。
2 菜单的提示信息:每个数字后有相应的功能名用来提示,输入相应
的数字的提示。
3 元素采用字符型可使输入和显示更简单。
二 概要设计
实现上述功能,并以循环链表的形式演示各功能其概要设计为:
1 对列的数据类型为:
数据对象:D={ai|ai 属于 int 型,i=1,2,3……n,n>=0}
数据关系:R={<a i-1,a i>|a i-1,a I,属于 D,i=2,3……n}
2 调用函数基本操作:
void Ininq(&q)
操作结果:构建一个以尾指针表示的链环。
void inq(q, n)
初始条件:链环已存在,需要插入的元素给出。
操作结果:插入到链环中。
char outq(q)
初始条件:链环已存在。
操作结果:出队。
void destroyq(lq)
初始条件:链环已存在。
操作结果:销毁链环中的每一个结点。
void travelq(q)
初始条件:链环已存在。
操作结果:显示链环中的每一个元素。
lenq(q)
初始条件:链环已存在。
操作结果: 返回链环的长度。
empty(&q)
初始条件:链环已存在。
操作结果:返回队列是否为空。
3 总体框架图
1