All pastes #2056453 Raw Edit

Mine

public java v1 · immutable
#2056453 ·published 2011-05-10 21:16 UTC
rendered paste body
import java.util.Map;import java.util.TreeMap;public class Test {	private static final int MAX_PRIO = 3;	private static boolean[] toogle= new boolean[MAX_PRIO+1];	private static Map<Integer,Integer> proc=new TreeMap<Integer,Integer>();		private static boolean schedule(int prio){		if(!proc.containsKey(prio)||proc.get(prio)==0)return false;			toogle[prio]=!toogle[prio];		boolean x=true;		if(!toogle[prio]||proc.get(prio)==0){						x=!schedule(prio+1);		}		if(x){			System.out.print(prio+" ");			proc.put(prio,proc.get(prio)-1);		}		return true;			}	/**	 * @param args: 4 prozesse der priorität 2, 3 der prio 1, 1 der prio 0, 0	 */	public static void main(String[] args) {		//prio,anzahl		proc.put(0,4);		proc.put(1,2);		proc.put(2,4);		proc.put(3,2);					scosusMultiplikatording();				int y=calcSum();		for(int i=0;i<y;i++)schedule(0);	}	private static void scosusMultiplikatording(){		for(int prio=0;prio<MAX_PRIO;prio++){			if(proc.containsKey(prio)){				int z = proc.get(prio);				z=(int) (z*Math.pow(2,MAX_PRIO-prio));				proc.put(prio,z);			}		}	}	private static int calcSum(){		int x=0;		for(int i=0;i<=MAX_PRIO;i++){			if(proc.containsKey(i)){				x+=proc.get(i);			}		}		return x;	}}