最佳工作序列_第1頁
最佳工作序列_第2頁
最佳工作序列_第3頁
最佳工作序列_第4頁
最佳工作序列_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、GIS算法基礎程序報告最佳工作序列第八組宗雯雯、錢新、戴寒玉、王曉宇、嚴鵬宇2014-9-29題目要求:有N件工作,輸入每件工作的費時、最后完成的期限及工作的價值,試求可能的一個完成工作序列,使價值和最大。測試數據:任務費時最后完成期限價值14102238332434126目錄2134Program類WorkItem類WorkSequence類WorkPlanning類5運行結果1Program類 Main方法(程序入口) 讀取文件,存入變量WorkItems,新建一個 WorkPlanning,傳入參數WorkItems, 調用WorkPlanning類,接收BestWorkSequence

2、 返回值; 打印結果; 獲取文件“最佳工作序列.txt”判斷文件是否存在List WorkItems = new List(); /實例化WorkItem方法 Try /try catch 異常處理 using (StreamReader sr = new StreamReader(args0) /StreamReader:實現一個 TextReader,使其以一種特定的編碼從字節(jié)流中讀取字符。 String line = sr.ReadLine(); / 定義字符串變量line 記錄文件中每行內容 while (line = sr.ReadLine() != null) / 判斷文件中每行內

3、容是否為空 string key = line.Split(new char , );/定義一個字符串數組key,用line.Split方法讀取每行數據,即以每行中逗號為分隔讀取數據 WorkItem item = new WorkItem();/ 實例化WorkItem 方法為item item.ID = key0; item.Hours = int.Parse(key1); item.Deadline = int.Parse(key2); item.Worth = int.Parse(key3); /對結構item中四個變量進行賦值,數據分別來自key數組中內容 WorkItems.Add

4、(item); /添加item至WorkItem以便下一行數據的讀取 catch (Exception e) Console.WriteLine(e.Message); /異常處理2WorkItem類(存儲信息)(4個屬性)ID, Hours, Deadline, Worth。3WorkPlanning類:Sort方法:對存儲工作的數組按deadline進行升序排序,然后返回數組。CompareWorkItemByDeadline方法:比較 x 和 y 大小,返回值是0,1,-1.public WorkPlanning(IEnumerable workItems) :類WorkPlanning

5、的構造函數,累加價值得到總價值,以及將Program.WorkItems賦值到WorkPlanning類中的私有屬性WorkPlanning;private void Swap(List workItems, int i, int j): 全排序中交換兩個WorkItem類型的變量在數組中的位置private void Permutation(List workItems, int m, int k):用遞歸方法的將所有工作項進行全排序4WorkSequence類:構造函數:函數:WorkSequence(傳入總價值,初始化公共屬性。)私有屬性List WorkItems(用于存儲一種工作序列的泛型數組)公有屬性:Hours Deadline Worth TotalWorth SurplusValue Sequence public bool Add(WorkItem item):public bool Add(WorkItem item):WorkSequence.Add():確定最大工作期限,逐個檢查工作的可行性,并累加工作耗時和價值,并調用List.Add()方法將滿足條件的工作加入WorkItems泛型鏈表。WorkSequence.Add方法:判斷傳入的工作是否滿足條件(: if (item.Hours + th

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論