题目:
每天都要处理很多事务,为了更好地安排工作,希望在每天开始工作前,根据工作记录,生成工作备忘录。首先输入工作记录数(大于0的一个整数),再逐条输入各条工作记录,每条工作记录包括:工作名,开始时间,结束时间。假设每项工作的开始时间均小于它的结束时间,并且各项工作的开始时间互不相同。
我们的工作是需要把这些工作记录按开始时间排序并输出,在输出时,如果某项工作与若干项工作冲突(在做该项工作时,需要同时做其它工作),则在该工作名前加’*’。
/*
从该题让我们编写第一个函数名字,我们就能看懂我们要往该链表中插入数据;通过仔细的读题,我们是不能随随便便的插入数据;我们得把要插入的数据按照时间的顺序插入到链表中;
*/
```
Node* add(Node *header, Node *newnode)
{
/*这里我们是判断头节点是不是空的,因为我们编写链表的时候是一般创建头节点的;
这里我就定义头节点为header;要插入的节点为newnode;pcurrent是当前的节点;
Pnext是当前节点的下一个节点;prev是当前节点的前一个节点;
我们编写代码的时候尽量做到见到名称就知道这个名称想代表什么意思;而不是用简单的a,b,c;来定义变量;
是在不行,用汉语拼音来定义变量名,尽量做到见名知意*/
if(header==NULL)
{
header=newnode;
header->next=NULL;
return header;
}
Node *pcurrent=header;
Node *pnext=newnode;
Node *prev=NULL;
while(pcurrent!=NULL&&pcurrent->start&l