最优装载问题算法的java实现(贪心算法)
具体问题描述以及C/C++实现参见网址
/** * 最优装载问题(贪心算法) * @author Lican * */ public class BestLoading { public float loading(float c,float[] w,int[] x){ int n=w.length; Element[] d=new Element[n]; for(int i=0;i<n;i++){ d[i]=new Element(w[i],i); } java.util.Arrays.sort(d); for(int i=0;i<n;i++) x[i]=0; float op=0; for(int i=0;i<n&&d[i].w<=c;i++){ op+=d[i].w; c-=d[i].w; x[d[i].i]=1; } return op; } static class Element implements Comparable{ float w; int i; public Element(float ww,int ii){ w=ww; i=ii; } @Override public int compareTo(Object x) {//按每个重量从小到大排列 float xx=((Element)x).w; if(this.w<xx) return -1; if(this.w==xx) r