作者cowbaying (是在靠北喔)
看板java
標題Re: [問題] 資料的比較、插入、排序
時間Mon Sep 5 13:54:34 2016
schedule.addtask(new Task(2, 20, 'A1'));
schedule.addtask(new Task(8, 10, 'A2'));
schedule.addtask(new Task(10, 15, 'A3'));
schedule.addtask(new Task(12, 10, 'A4'));
taskBs.add(new Task(2, 2, 'B1')); (實際長度8)
taskBs.add(new Task(12, 10, 'B2')); (實際長度26)
taskBs.add(new Task(22, 3, 'B3')); (實際長度29)
taskBs.add(new Task(12, 50, 'B4')); (實際長度66)
A1 A2 A3 A4
|>!---------|>>>>-----|>>>>>-------|>>>>>>-----
|>-! |>>>>>>-----|>>>>>>>>>>>-|>>~~~
B1 B2 B3 B4
我對這個機制的理解如上圖
A是主要的
B能否執行要看A延遲的時間是否足夠把B插入、執行、延遲跟切換回A的時間容納進去
原PO的文字描述實在是看不太懂
如果B的延遲時間會連帶延遲到A的時間
那麼根本不須排序了
A執行完換B就好
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.127.231.87
※ 文章網址: https://www.ptt.cc/bbs/java/M.1473054876.A.1FA.html
→ gene07: 是的.. 09/06 12:36
→ cowbaying: 所以是我理解的這樣? 09/06 12:52
→ gene07: 對QQ 09/06 14:12
→ gene07: 但就是上面B那個實際長度不太對..如果A的delay時間夠長 09/06 14:14
→ gene07: 可以容納兩次B 那你寫的實際長度就不對了..QQ 09/06 14:14
→ gene07: 因為如果B可以連續做兩次 那來回時間就只有第一次從A到B 09/06 14:16
→ gene07: 跟B做完兩次後回到A 09/06 14:16
→ cowbaying: 所以這是個循環? 09/06 15:08
→ cowbaying: 同一個B可以多次執行? 09/06 15:11
→ gene07: 同一個B是什麼意思?? 09/06 15:24
→ gene07: taskBs.add(new Task(2, 2, 'B1')); 09/06 15:25
→ gene07: taskBs.add(new Task(12, 10, 'B2')); ...都只執行一次 09/06 15:25
→ cowbaying: gene麻煩你也畫一個流程圖吧 XDDD 實在看不懂... 09/06 15:29