import java.util.ArrayList;

成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作與策劃設(shè)計(jì),涵江網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:涵江等地區(qū)。涵江做網(wǎng)站價(jià)格咨詢:028-86922220
import java.util.List;
public class Question {
// 調(diào)度總站
class DiaoDuZhan{
private ListClient list;
public Client getClient(){ // 獲得客戶
if(list != null list.size() 0){
Client client = list.get(0);
list.remove(client);
return client;
}else{
return null;
}
}
public void addClient(Client client){
if(list == null){
list = new ArrayListClient();
}
list.add(client);
}
}
// 客戶
interface Client{
public void setService(Service service);
public Service getSerive();
}
// 服務(wù)
interface Service{
public void doService();
}
// 服務(wù)員
class waiter{
DiaoDuZhan diaoduzhan;
public DiaoDuZhan getDiaoduzhan() {
return diaoduzhan;
}
public void setDiaoduzhan(DiaoDuZhan diaoduzhan) {
this.diaoduzhan = diaoduzhan;
}
public void doNext(){
Client client = diaoduzhan.getClient();
if(client != null)
client.getSerive().doService();
}
}
}
多機(jī)調(diào)度問題的Java實(shí)現(xiàn)(貪心算法)
具體問題描述以及C/C++實(shí)現(xiàn)參見網(wǎng)址
[java]?view?plain?copy?print?
import?java.util.ArrayList;??
import?java.util.Collections;??
import?java.util.LinkedList;??
import?java.util.List;??
/**?
*?多機(jī)調(diào)度問題--貪心算法?
*?@author?Lican?
*?
*/??
public?class?JobMachine?{??
public?static?class?JobNode?implements?Comparable{??
int?id;//作業(yè)的標(biāo)號(hào)??
int?time;//作業(yè)時(shí)間??
public?JobNode(int?id,int?time){??
this.id=id;??
this.time=time;??
}??
@Override??
public?int?compareTo(Object?x)?{//按時(shí)間從大到小排列??
int?times=((JobNode)x).time;??
if(timetimes)?return?-1;??
if(time==times)?return?0;??
return?1;??
}?????????
}??
public?static?class?MachineNode?implements?Comparable{??
int?id;//機(jī)器的標(biāo)號(hào)??
int?avail;//機(jī)器空閑的時(shí)間(即機(jī)器做完某一項(xiàng)工作的時(shí)間)??
public?MachineNode(int?id,int?avail){??
this.id=id;??
this.avail=avail;??
}??
@Override??
public?int?compareTo(Object?o)?{//升序排序,LinkedList的first為最小的??
int?xs=((MachineNode)o).avail;??
if(availxs)?return?-1;??
if(avail==xs)?return?0;??
return?1;??
}??
}??
public?static?int?greedy(int[]?a?,int?m){??
int?n=a.length-1;//a的下標(biāo)從1開始,所以n(作業(yè)的數(shù)目)=a.length-1??
int?sum=0;??
if(n=m){??
for(int?i=0;in;i++)??
sum+=a[i+1];??
System.out.println("為每個(gè)作業(yè)分別分配一臺(tái)機(jī)器");??
return?sum;??
}??
ListJobNode?d=new?ArrayListJobNode();//d保存所有的作業(yè)??
for(int?i=0;in;i++){//將所有的作業(yè)存入List中,每一項(xiàng)包含標(biāo)號(hào)和時(shí)間??
JobNode?jb=new?JobNode(i+1,a[i+1]);??
d.add(jb);??
}??
Collections.sort(d);//對(duì)作業(yè)的List進(jìn)行排序??
LinkedListMachineNode?h=new?LinkedListMachineNode();//h保存所有的機(jī)器??
for(int?i=1;i=m;i++){//將所有的機(jī)器存入LinkedList中??
MachineNode?x=new?MachineNode(i,0);//初始時(shí),每臺(tái)機(jī)器的空閑時(shí)間(完成上一個(gè)作業(yè)的時(shí)間)都為0??
h.add(x);??
}??
int?test=h.size();??
for(int?i=0;in;i++){??
Collections.sort(h);??
MachineNode?x=h.peek();??
System.out.println("將機(jī)器"+x.id+"從"+x.avail+"到"+(x.avail+d.get(i).time)+"的時(shí)間段分配給作業(yè)"+d.get(i).id);??
x.avail+=d.get(i).time;??
sum=x.avail;??
}??
return?sum;??
}??
public?static?void?main(String[]?args)?{??
int[]?a={0,2,14,4,16,6,5,3};??
int?m=3;??
int?sum=greedy(a,m);??
System.out.println("總時(shí)間為:"+sum);??
}??
}??
/**?
運(yùn)行結(jié)果:?
將機(jī)器1從0到16的時(shí)間段分配給作業(yè)4?
將機(jī)器2從0到14的時(shí)間段分配給作業(yè)2?
將機(jī)器3從0到6的時(shí)間段分配給作業(yè)5?
將機(jī)器3從6到11的時(shí)間段分配給作業(yè)6?
將機(jī)器3從11到15的時(shí)間段分配給作業(yè)3?
將機(jī)器2從14到17的時(shí)間段分配給作業(yè)7?
將機(jī)器3從15到17的時(shí)間段分配給作業(yè)1?
總時(shí)間為:17?
*/
public class CLSS_ch2 {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i = 100; i++) {
if (i % 10 == 3)
continue;
sum += i;
}
System.out.println(sum);
}
}
計(jì)算機(jī)圖形技術(shù)組的成員在1993年開發(fā)出了 Lua。它被設(shè)計(jì)成為腳本語言,是一種不可獲取的過程式編程語言,以簡單而強(qiáng)大而聞名。
你先用C++寫,然后做成DLL。
再用java去調(diào)就好了。
一般java做底層控制和調(diào)用都會(huì)這么做。
就像io什么的,都是去調(diào)用C的代碼完成的
一般java調(diào)用c寫的dll代碼都比較方便。
c調(diào)用java的代碼幾乎不可能。
標(biāo)題名稱:java實(shí)現(xiàn)調(diào)度算法代碼 java任務(wù)調(diào)度算法
當(dāng)前網(wǎng)址:http://chinadenli.net/article48/hejsep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、網(wǎng)站改版、關(guān)鍵詞優(yōu)化、網(wǎng)站設(shè)計(jì)公司、品牌網(wǎng)站設(shè)計(jì)、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)