資源簡介
銀行模擬
嚴蔚敏教材C
該算法對原有算法進行擴充完整

代碼片段和文件信息
typedef????struct
{
????int????type;
????int????time;
}Event;
typedef????struct????LNode
{
????Event???data;
????LNode???*next;
}LNode?*ListPtr;
typedef????struct
{
????ListPtr????head;
}linkList;
Status????MakeNode(?ListPtr??&p?Event??e?)
{
????p=(?ListPtr?)malloc(?sizeof(?LNode?)?);
????if(?!p?)????return??ERROR;
????p->data=e;
????p->next=null;
????return??OK;
}
Status????InitList(?linkList??&L?)
{
????
????L.head=(?ListPtr?)malloc(?sizeof(?LNode?)?);
????if(?!L.head?)?????return????ERROR;
????L.head->next=null;
????return????OK;
}
Status????OrderInsert(?linkList??&L?Event??e?)
{
????MakeNode(?p?e?);
????q=L.head->next;
????while(?q!=null?&&?(?q.data?).time?(?p.data?).time?)
????{
????????pre=q;
????????q=q->next;
????}
????p->next=q;
????pre->next=p;
????return????OK;
}
Status????DelFirst(?linkList??&L?Event??&e?)
{
????p=L.head->next;
????if(?p==null?)????return??ERROR;
????L.head->next=p->next;
????e=p->data;
????free(?p?);
????return??OK;
}
typedef????struct
{
????int????ArriveTime;
????int????ServiceTime;
}Customer;
typedef????struct????QNode
{
????Customer????data;
????QNode????*next;
}QNode??*QueuePtr;
typedef????struct
{
????QueuePtr????front;
????QueuePtr????rear;
????int????length;
}linkQueue;
Status????MakeQNode(?QueuePtr??&p??Customer??e?)
{
????p=(?QueuePtr?)malloc(?sizeof(?QNode?)?);
????if(?!p?)????return??ERROR;
????p->data=e;
????p->next=null;
????return??OK;
}
Status????InitQueue(?linkQueue??&Q)
{
????Q.front=Q.rear=(?QueuePtr?)malloc(?sizeof(?QNode?)?);
????if(?!Q.front?)????return??ERROR;
????Q.front->next=null;
????Q.length=0;
????return??OK;
}
Stutas????EnQueue(?linkQueue??&Q??Customer??e?)
{
????MakeQNode(?p??e?);
????Q.rear->next=p;
????Q.rear=p;
????Q.length++;
????return??OK;
}
Status????DeQueue(?linkQueue??&Q??Customer??&e?)
{
????if(?Q.length==0?)????return??ERROR;
????p=Q.front->next;
????Q.front->next=p->next;
????Q.length--;
????e=p->data;
????if(?p==Q.rear?)???Q.rear=Q.front;
????free(?p?);
????return??ok;
}
Status????GetHead(?linkQueue??&Q??Customer??&e?)
{
????if(?Q.lengeh==0?)???return??ERROR;
????p=Q.front->next;
????e=p->data;
????return??OK;
}
int????MinQueue(?linkQueue??q?)
{
????min=q[1].length;
????num=1;
????for(?i=2;?i<=4;?i++?)
????{
????????size=q[?i?].length;
????????if(?min?>size?)
????????{
????????????min=size;
????????????num=i;
????????}
????}
????return??num;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4670??2010-02-10?23:41??銀行模擬.c
-----------?---------??----------?-----??----
?????????????????4670????????????????????1
- 上一篇:keil ARM AGDI
- 下一篇:GRE紅寶書核心詞匯6000EXCEL版
評論
共有 條評論