课程设计任务书
一、设计内容与要求
1、设计内容
1)、设计窗口,服务窗口;
2)、编写代码,实现各种算法,完成排队叫号问题;
2、设计要求
1.2.3.4.
2、功能设计
1)使用数组以及C#接口和范型技术实现通用的队列功能;
2)编写算法,利用队列模拟银行排队系统;
3)利用多窗口分别模拟顾客取服务号、银行窗口服务顾客。
2.2算法与数据结构
在银行排队叫号软件中,首先要找到一种数据结构来存放顾客所得到的服务号,这些服务号表示客户的请求服务的先后顺序,也表示客户被服务的先后顺序。先来的客户被服务:
在这个程序中,主要运用了队列这种结构:
队列是一种特殊的线性表,是一种只允许在表的一端插入操作而在另一端进行删除操作的线性表。进行插入操作的表尾称为队尾(Rear),进行删除操作的头部称为对头(Front)。当队列中没有数据元素时称为空队列(Empty Queue)。队列通常记为Q=(a1,a2,…,an),a1为对头元素,an为队尾元素。这n个元素是按照a1,a2,…an的次序依次入队的,出队的顺序与入队顺序相同,a1第一个出队,an最后一个出队。队列的结构示意图如下:
出队 a1 a2 … an 入队
2、队列的特征:
队列的操作是按照“先进先出”或“后进后出” 的原则进行的。
队列的基本操作:
入队列操作:EnQueue(T elem);