易截截图软件、单文件、免安装、纯绿色、仅160KB

带有限期的作业排序算法 java实现

/*
*日期:2010-04-19 22:02
*开发者:heroyan
*联系方式:zndxysf@126.com
*功能:带有限期的作业排序,假设每个作业都可在单位时间内完成,完成后获得一定的效益,求效益的最大值和作业顺序
*/
import java.util.Scanner;
import java.util.Arrays;
import java.util.ArrayList;
public class JobSort{
private static int MAX = 100;
private Job[] jbs = new Job[MAX];
private boolean[] visited = new boolean[MAX];//标志此时间是否已经被安排作业
private int[] target = new int[MAX];//目标编号
private double maxfit = 0.0;//最大收益
private int n;//作业个数

public JobSort(){}

public static void main(String args[]){
JobSort sp = new JobSort();
sp.init();
sp.js();
sp.print();
}
//初始化
public void init(){
Scanner scan = new Scanner(System.in);
int p,q;
double w;

System.out.println("Input the job number:");
n = scan.nextInt();
System.out.println("Input the time and benifit:");
for(int i = 1; i <= n; ++i){
jbs[i] = new Job();
jbs[i].no = i;
jbs[i].tt = scan.nextInt();
jbs[i].fit = scan.nextDouble();
}
maxfit = 0.0;
Arrays.fill(visited,false);
sort();
}
//按效益从大到小排序
public void sort(){
for(int i = 1; i < n; ++i){
for(int j = i+1; j <= n; ++j ){
if(jbs[i].fit < jbs[j].fit){
Job tmp = jbs[i];
jbs[i] = jbs[j];
jbs[j] = tmp;
}
}
}
}
//算法主体
public void js(){
int cnt = 0;
for(int i = 1; i <= n; ++i ){
if(!visited[jbs[i].tt]){
visited[jbs[i].tt] = true;
target[cnt++] = jbs[i].no;
maxfit += jbs[i].fit;
}
}
target[cnt] = -1;
}
//打印结果
public void print(){
for(int i = 0; target[i] > 0; ++i){
System.out.println("NO."+target[i]+" job is choosed");
}
System.out.println("maximum fit is "+maxfit);
}
}
class Job
{
public int no;//序号
public int tt;//期限
public double fit;//效益
}


相关文档:

java实现对数据库日期天数的处理

 public static void main(String[] args) throws ParseException {
  String str = "yyyy-MM-dd 00:00:00.0";
  String str1 = str.substring(0, 10);
  /*
   * 将yyyy-1-1转换成yyyy-01-01
   */
  SimpleDateFormat sdf = new SimpleDateForma ......

Java的垃圾回收之算法

引言
  Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放。一般来说,堆的是由垃圾回收 来负责的,尽管JVM规范并不要求特殊的垃圾回收 ......

java新闻抓取程序代码

/*我做了个程序把新浪上的天气新闻抓过来存到本地,考虑访问速度问题,新闻中的图片也要保存到本地。
程序如下
*/
package vnet.com.weather1;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java ......

Java追加文件

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.io.OutputStreamWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.lang.*;
/******************************
* 写文本
* java.lang.Object ......

自学java用一年的时间能否成功?

我打算用今年一年的时间把传智博客的java课程学完不知可不可行?在学了他在网上的课程之后对自己的项目实战是否有帮助?虽然还不确定,但尽力吧。反正今年的时间也不多,还得在每天的晚上下班时间进行,很辛苦的。外加上自己眼高手低,执行不力,效果很可能大大折扣。尽力吧 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号