[問題] VS C++陣列排序與指派問題

看板C_and_CPP (C/C++)作者 (N9)時間15年前 (2011/04/26 12:44), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
關於陣列運算與指派問題的交換 研究發現還是有些不懂的部分 想請各位大大幫我解惑 -------------------------------------------------------------------- 舉例來說 我今天問題是下面這個陣列 A B C D E F G 碼頭一 7 8 2 5 11 3 6 碼頭二 4 9 1 8 8 16 9 碼頭三 3 10 7 6 9 9 5 抵達時間 5 12 3 8 7 6 9 ABCDEFG分別代表不同船隻 下面的是數字分別代表每艘船隻在不同碼頭的作業時間 最後一橫排則是表示每一艘船隻抵達港口的時間 我今天想要用先到先服務FCFS的方式來求解 可以得到下面這個樣子 1: FFF 1: GGGGGG 2: C 2: EEEEEEEE 3: AAA 3: DDDDDD 3: BBBBBBBBBBBB 船隻C第一個抵達港口 將其排入服務時間最短的二號碼頭 接著是船隻A到達 將其排入服務時間最短的三號碼頭 以此類推 從上圖得知船隻的等待時間為二個時間單位 在三號碼頭 服務D船隻與B船隻的時間 大致上不會有什麼問題 可是如果換成以下的例子 A B C D E F G H I J K 碼頭一 7 8 2 5 11 3 6 9 11 3 6 碼頭二 4 9 1 8 8 16 9 2 5 11 3 碼頭三 3 10 7 2 5 11 3 6 9 9 5 碼頭四 5 12 3 8 7 6 9 11 3 6 9 抵達時間 3 7 3 8 9 2 5 6 4 6 8 在求解完之後則會變成以下 1: FFF 1: GGGGGG 1: KKKKKKKKK 1: EEEEEEEEEEEEE 2: C 2: HH 2: DDDDDDDD 3: AAA 3: JJJJJJJJJ 4: III 4: BBBBBBBBBBBB 像上面這樣 我就只能知道哪一艘船隻在什麼時間點抵達哪一個碼頭 卻不知道哪一艘船隻在哪一個碼頭的服務時間為多少 像是在第一個碼頭 第四個時間點G船隻抵達並且在第一個碼頭開始被服務 可是後來K和E船隻進來時G仍然在被服務當中 卻無法進行其他的指派 ---------------------------------------------------------------------------------- 以上 不曉得各位看得懂看不懂 想請問各位大大 如果我想要知道哪一個碼頭可以在哪一個時間點開始服務哪一艘船隻 以及所有船隻在所有碼頭的被服務時間和所有船隻的等待服務時間加總 應該要怎麼寫才對?? 最後下面附上的程式碼 放在訊六的網路空間裡 http://www.xun6.com/file/c2d861f51/%E6%96%B0%E6%96%87%E5%AD%97%E6%96%87%E4%BB%B6.txt.html 感謝各位 請C++神手幫忙 ----------------------------------------------------------------------------------- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.138.143.40
文章代碼(AID): #1DjasiFp (C_and_CPP)
文章代碼(AID): #1DjasiFp (C_and_CPP)