|
|
@ -85,9 +85,29 @@ durtime客户办理业务的时间;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 2.1 概要设计
|
|
|
|
## 2.1 概要设计
|
|
|
|
系统划分为几个模块,可以画模块图。
|
|
|
|
主程序的流程\n主程序先是让外部进行测试数据输入,待测试数据输入完后,执行银行业务模拟系统,产生需要取款的客户人数,成功办理存款的客户人数,成功办理取款的客户人数,存款成功办理率,取款成功办理率,客户逗留平均时间,银行当前余额等信息。
|
|
|
|
逐个说明每个模块的功能(输入、输出、做什么,这里不写怎么做)。
|
|
|
|
本设计中用到的数据结构ADT定义如下:
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
ADT Queue{
|
|
|
|
|
|
|
|
数据对象:D={ ai | ai∈ElemSet, i=1,2,...,n, n≥0 }
|
|
|
|
|
|
|
|
数据关系:R1={ <ai-1, ai>|ai-1, ai∈D, i=2,...,n }
|
|
|
|
|
|
|
|
基本操作:
|
|
|
|
|
|
|
|
void InitQueue(Queue &Q);
|
|
|
|
|
|
|
|
操作结果:构造空队列Q
|
|
|
|
|
|
|
|
CustNode *Queuefront(Queue &Q);
|
|
|
|
|
|
|
|
初始条件:队列Q存在
|
|
|
|
|
|
|
|
操作结果:返回队首元素
|
|
|
|
|
|
|
|
CustNode *Queuerear(Queue &Q);
|
|
|
|
|
|
|
|
初始条件:队列Q存在
|
|
|
|
|
|
|
|
操作结果:返回队尾元素
|
|
|
|
|
|
|
|
void EnQueue(Queue &Q,int e);
|
|
|
|
|
|
|
|
初始条件:队列Q存在
|
|
|
|
|
|
|
|
操作结果:插入元素e为Q的新的队尾元素。
|
|
|
|
|
|
|
|
void DeQueue(Queue &Q);
|
|
|
|
|
|
|
|
初始条件:队列Q存在
|
|
|
|
|
|
|
|
操作结果:删除Q的队头元素。
|
|
|
|
|
|
|
|
}ADT Queue
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 2.2 数据结构设计
|
|
|
|
## 2.2 数据结构设计
|
|
|
|
首先,分析对比几种可选的数据结构设计方案。如图可以采用邻接矩阵,也可以采用邻接表,表示集合可以用普通的查找表,还可以用不相交集。给出每一种设计方案的特点(优势、不足等)。然后,综合考虑各种因素(空间、时间、乃至团队成员的水平等),给出你的选择。
|
|
|
|
首先,分析对比几种可选的数据结构设计方案。如图可以采用邻接矩阵,也可以采用邻接表,表示集合可以用普通的查找表,还可以用不相交集。给出每一种设计方案的特点(优势、不足等)。然后,综合考虑各种因素(空间、时间、乃至团队成员的水平等),给出你的选择。
|
|
|
@ -126,7 +146,7 @@ E data; // 数据元素
|
|
|
|
LNode *next; // 指向下一个结点的指针
|
|
|
|
LNode *next; // 指向下一个结点的指针
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
````
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
对该数据结构的特点进行分析。
|
|
|
|
对该数据结构的特点进行分析。
|
|
|
|
|
|
|
|
|
|
|
|