list.h

来自「离散事件模拟程序」· C头文件 代码 · 共 53 行

H
53
字号
// file : list.h
#ifndef _LIST_H_
#define _LIST_H_

#include "com_def.h"

typedef enum // 共5类事件
{
    NEWGUEST = 0,
    LEAVE_1,
    LEAVE_2,
    LEAVE_3,
    LEAVE_4
}event;

typedef struct _evt_type
{
    event evt;        // 事件类型
    int   occurtime;  // 发生的时间
}evt_type;

// 链表存储的数据类型
typedef evt_type elemtype;

typedef struct _evt_node
{
    evt_type evtype;
    struct _evt_node *next;
}evt_node;

typedef struct _Linklist
{
    evt_node *head;
    evt_node *tail;
}Linklist;


bool MakeNode(evt_node *p, evt_type et);
void FreeNode(evt_node *p);

bool InitList(Linklist *L);
bool DestroyList(Linklist *L);
bool ClearList(Linklist *L);
// 已知head是头结点,将s所指结点插入在第一个结点之前
bool InsFirst(evt_node *head, evt_node *s);
bool DesFirst(evt_node *head, elemtype *q);
// 将s所指的一串结点链接在L的最后一个结点
bool Append(Linklist *L, evt_node *s);

bool ListEmpty(Linklist L);
int ListLength(Linklist L);

#endif // _LIST_H_

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?