java实现贪心算法中的多机调度

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
return this.al;
}
public int getZonghaoshi()
{
return this.zongshaoshi;
}
}
class ZuoyeManger{
ArrayList<Zuoye> zuoye=new ArrayList<Zuoye>();
public void addzuoye(Zuoye zuoye)
{
if(this.getJiqi()==null)
{
System.out.println("对不起,没有机器可以分发作业!");
break;
}
this.getJiqi().addzuoye(zuoyeManger.getZuoye(index++));
}
}
private Jiqi getJiqi()
System.out.println("请输入第"+(i+1)+"号作业的时间:");
haoshi=sc.nextInt();
zuoye=new Zuoye(i+1, haoshi);
zuoyeManger.addzuoye(zuoye);
}
this.zuoyeManger.paixu();
this.fenfa();
}finally{
if(br!=null)
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
class JiqiManger{
ArrayList<Jiqi> al=new ArrayList<Jiqi>();
{
al=jiqiManger.getjiqi(i+1).getZuoye();
System.out.print(i+1+"号机器包含的作业有:{");
for(int j=0;j<al.size();j++)
{
if(j==(al.size()-1))
System.out.println(al.get(j).getId()+"号作业}");
Start start=new Start(jiqigeshu, zuoyegeshu);//指明有几台机器以及几道作业
start.show();//显示每台机器都有哪些作业
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
{
return this.haoshi;
}
public int getId()
{
return this.id;
}
}
class Start{
private JiqiManger jiqiManger=null;
private ZuoyeManger zuoyeManger=null;
private int jiqigeshu,zuoyegeshu;
public class Duojidiaodu {
public static void main(String[] args) {
// TODO Auto-generated method stub
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
Jiqi jiqi;
Zuoye zuoye;
for(int i=0;i<jiqigeshu;i++)
{
jiqi=new Jiqi(i+1);
jiqiManger.addjiqi(jiqi);
}
for(int i=0;i<zuoyegeshu;i++)
{
int haoshi;
Scanner sc=new Scanner(System.in);
public void addjiqi(Jiqi jiqi)
{
this.al.add(jiqi);
}
public Jiqi getjiqi(int id)
{
for(int i=0;i<this.al.size();i++)
{
if(this.al.get(i).getId()==id)
{
return this.al.get(i);
{
return this.zuoye.get(index);
}
}
class Zuoye{
private int id;
private int haoshi;
public Zuoye(int id , int haoshi ) {
this.id=id;
this.haoshi=haoshi;
}
public int getHaoshi()
{
min=jiqiManger.getjiqi(i+1).getZonghaoshi();
minindex=i+1;
}
}
return jiqiManger.getjiqi(minindex);
}
public void show(){
ArrayList<Zuoye> al=null;
for(int i=0;i<this.jiqigeshu;i++)
}
private void fenfa()
{
int index=0;
for(int i=0;i<this.jiqigeshu;i++)
{
jiqiManger.getjiqi(i+1).addzuoye(zuoyeManger.getZuoye(index++));
}
while(index<this.zuoyegeshu)
public Start(int jiqigeshu , int zuoyegeshu) {
jiqiManger=new JiqiManger();
zuoyeManger=new ZuoyeManger();
this.jiqigeshu=jiqigeshu;
this.zuoyegeshu=zuoyegeshu;
{
this.zuoye.add(zuoye);
}
public void paixu()
{
Object[] temp=this.zuoye.toArray();
for(int i=0;i<temp.length-1;i++)
for(int j=i+1;j<temp.length;j++)
{
if(((Zuoye)temp[i]).getHaoshi()<((Zuoye)temp[j]).getHaoshi())
try {
System.ou来自百度文库.println("请输入机器个数:");
int jiqigeshu=Integer.parseInt(br.readLine());
System.out.println("请输入作业个数:");
int zuoyegeshu=Integer.parseInt(br.readLine());
else
System.out.print(al.get(j).getId()+"号作业,");
}
}
}
}
package com.test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Scanner;
}
public int getId()
{
return this.id;
}
public void addzuoye(Zuoye zuoye)
{
this.al.add(zuoye);
this.zongshaoshi+=zuoye.getHaoshi();
}
public ArrayList<Zuoye> getZuoye()
{
Zuoye zuoye=(Zuoye)temp[i];
temp[i]=temp[j];
temp[j]=zuoye;
}
}
this.zuoye.clear();
for(int i=0;i<temp.length;i++)
this.zuoye.add(((Zuoye)temp[i]));
}
public Zuoye getZuoye(int index)
{
if(this.jiqiManger.getjiqi(1)==null)
return null;
int min=jiqiManger.getjiqi(1).getZonghaoshi();
int minindex=1;
for(int i=1;i<this.jiqigeshu;i++)
{
if(jiqiManger.getjiqi(i+1).getZonghaoshi()<min)
}
}
return null;
}
}
class Jiqi{
private int id;
private ArrayList<Zuoye> al;
private int zongshaoshi;
public Jiqi(int id) {
this.id=id;
al=new ArrayList<Zuoye>();
相关文档
最新文档