• 大小: 1KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: 其他
  • 标签: 银行模拟  

资源简介

银行模拟 严蔚敏教材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


评论

共有 条评论