Merge branch '金雨佳'

master
yujia jin 1 year ago
commit 72cd25e959

@ -110,24 +110,68 @@ ADT Queue{
```
## 2.2 数据结构设计
首先,分析对比几种可选的数据结构设计方案。如图可以采用邻接矩阵,也可以采用邻接表,表示集合可以用普通的查找表,还可以用不相交集。给出每一种设计方案的特点(优势、不足等)。然后,综合考虑各种因素(空间、时间、乃至团队成员的水平等),给出你的选择。
运用链队列、链表的数据结构,使银行业务的模拟更加高效的完成。链表和链队列的结构,更加形象的体现了客户的在银行的排队、业务办理、离开的流程。
### 1链表结构
Status InitList(LinkList& L);//链表初始化
Status ListInsert(LinkList& L,int i,ElemType e);//在第i个位置前即i-1的位置上插入元素e
Status ListEmpty(LinkList L);//判断链表是否为空
Status DelFirst(LinkList L,LNode*& q);//删除链表中第一个结点并以q返回
LNode* GetHead(LinkList L);//返回链表头结点
ElemType GetCurElem(LNode* p);//返回p所指结点元素的值
void PrintEventList();//打印事件链表
Status ListTraverse(LinkList& L);//遍历链表
### 2链队列结构
Status InitQueue(LinkQueue& Q);//链队列的初始化
Status EnQueue(LinkQueue& Q,QElemType e);//入队列
Status DeQueue(LinkQueue& Q,QElemType& e);//出队列
int QueueLength(LinkQueue Q);//返回队列长度
Status GetHead(LinkQueue Q,QElemType& e)//返回队头元素
注:由于参数个数会发生变化,函数会发生重载
Status QueueEmpty(LinkQueue Q);//判断队列是否为空
void PrintQueue();//打印队列
Status QueueTraverse(LinkQueue Q);//遍历队列
### 1xxx结构
给出核心数据结构的设计,包括文字描述和示意图。讲清楚数据是如何组织的。多个数据结构,逐一列出。
### 2xxx结构
给出核心数据结构的设计,包括文字描述和示意图。讲清楚数据是如何组织的。
## 2.3 算法设计
主要运用排序、链表、队列、判断最短队列、比较事件先后等算法完成银行业务的模拟,体现了整个业务的可行性、完整性、简洁性、高效性。
### 1链表判空算法
````
判断链表是否为空
If链表为空
返回FALSE
ELSE
返回TRUE
````
### 2银行业务模拟算法
````
引入OpenForDay函数
WHILE链表非空
引入DelFrist函数、GetCurElem函数、GetHead函数、CustomerArrived函数、CustomerDepature函数等计算客户平均逗留时间
````
## 2.3 算法设计
首先,分析对比几种可选的算法设计方案。如是否排序,广度优先或深度优先搜索等。给出每一种设计方案的特点(优势、不足)。然后,综合考虑各种因素(空间、时间、乃至团队成员的水平等),给出你的选择。
### 3比较事件先后算法
````
IF a事件时间>b事件时间
返回 1
IF a事件时间=b事件时间
返回 0
IF a事件时间< b
返回-1
````
### 4求最短队列算法
````
初始化最短队列为Q[1]
FOR 从Q[2]开始循环
IF 最短长度>Q[j]
最短长度=Q[j]
返回队列j
````
### 1XXX算法
给出核心算法的设计,包括伪代码或流程图。多个核心算法,逐一列出。只列举解决问题的核心算法,重点讲清楚是如何解决问题的。
### 2XXX算法
给出核心算法的设计,包括伪代码或流程图。

Loading…
Cancel
Save