📄 linklist.h
字号:
typedef struct{
int OccurTime; //事件发生时刻
int NType; //事件类型
}ElemType,Event; //事件的数据类型
typedef struct LNode{
ElemType data;
struct LNode *next;
}*Link,Lnode;//事件链表的结点类型
typedef struct{
Link head,tail;
int len;
}LinkList; //该链表带有头结点
void InitList(LinkList &L)
{
L.head=new LNode;
L.head->next=NULL;
L.tail=L.head;
L.len=0;
}
int DelFirst(LinkList &L, ElemType &e)
{
Link p;
if(L.head->next==NULL) return 0;
p=L.head->next;
e.OccurTime=p->data.OccurTime;
e.NType=p->data.NType;
L.head->next=p->next; //删除第一个元素
if(L.tail==p) L.tail=L.head;
delete p;
L.len--;
return 1;
}
void OrderInsert(LinkList &L, ElemType e)
{
Link p,q,r;
p=new Lnode;
p->data.OccurTime=e.OccurTime;
p->data.NType=e.NType;
q=L.head;
r=q->next;
while(r&&(p->data.OccurTime>r->data.OccurTime))
{q=r;r=r->next;}
if(!r)
{
L.tail->next=p;
L.tail=p;
p->next=NULL;
}
else
{
p->next=r;q->next=p;
}
L.len++;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -