最佳工作序列_第1页
最佳工作序列_第2页
最佳工作序列_第3页
最佳工作序列_第4页
最佳工作序列_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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,使其以一种特定的编码从字节流中读取字符。 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. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论