用 C 语言写一个函数来执行一串任务。任务是互相依赖的。比如 B 任务依赖 A 任 务,则 A 完成 B
  才能执行。不考虑并发限制,假设所有的任务都能一次执行成功, 所有的任务执行时间都相等。任务数据结构原型为:
  
                                        typedef struct {
    //该任务的 ID
    int id;
    //该任务依赖的任务的 ID
    int *child;
    //该任务依赖的任务个数
    int child_num;
} task;
// 函数原型:
bool doschedule(task*pask,inttask_num);
//以下函数可以直接调用:
void dotask(int id); //执行一个进程
//等待 timeout 时间,并返回一个执行成功的任务的 id,如果没有任务在时间片内完成,则返回-1
int waittask(int timeout);
bool killtask(int id); //杀掉一个进程 
  


 
                     
                     
             
                            