没有合适的资源?快使用搜索试试~ 我知道了~
作业调度问题(C语言版).doc
4星 · 超过85%的资源 需积分: 12 20 下载量 88 浏览量
2009-04-02
18:35:10
上传
评论 3
收藏 36KB DOC 举报
温馨提示
试读
3页
该文件为实验报告类型文件,内含实验目的、实验内容、程序源代码和程序运行结果。程序清晰易懂,注释得当……
资源推荐
资源详情
资源评论
实验三 作业调度问题
系别 计算机系 班级 0701 姓名 龙琼 学号 14072400570 得分
实验目的:
1.熟悉多机调度问题的算法;
2.进一步掌握贪心算法
3.提高分析与解决问题的能力。
实验内容:
要求给出一种作业调度方案,使所给的 n 个作业在尽可能短的时间内由 m 台机器加工
处理完成。约定,每个作业均可在任何一台机器上加工处理,但未完工前不允许中断处理
作业不能拆分成更小的子作业。
程序源代码:
#include"stdio.h"
#include"stdlib.h"
FILE *fp1,*fp2; //定义两个文件指针,用来分别指向文件 input.txt 和 output.txt
typedef struct JobNode //作业结构体(链表)
{ int ID; //作业标号
int time;//作业所需时间
struct JobNode *next;
}JobNode,*pJobNode;
typedef struct Header //机器以及相应作业链表的表头
{ int s;//机器的开销
pJobNode next;
}Header,*pHeader;
void init(pJobNode head,int n,pHeader M,int m)/*建立作业队列,使得作业队列按所
需时间从大到小排列*/
{ int i;
pJobNode p,q;
for(i=0;i<n;i++)
{ p=(pJobNode)malloc(sizeof(JobNode));
fscanf(fp1,"%d-%d",&p->ID,&p->time);
p->next=NULL;
q=head;
while(q->next)
{ if(q->next->time<p->time)
{ p->next=q->next;
q->next=p;
break;
}
q=q->next;
资源评论
- zzqq12562012-12-05不错,可以参考下
- zhuzhaoyang2013-03-28程序清除,但比较简单,适用简单问题。
- tiangaohaikuolgp2013-05-31我要遗传算法。。。。
lg891121
- 粉丝: 9
- 资源: 45
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功