All pastes #2056448 Raw Edit

Mine

public text v1 · immutable
#2056448 ·published 2011-05-10 21:09 UTC
rendered paste body
import java.util.Map;
import java.util.TreeMap;


public class Test {
	private static final int MAX_PRIO = 2;
	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))return false;
		
		toogle[prio]=!toogle[prio];
		if(!toogle[prio]||proc.get(prio)==0){			
			if(!schedule(prio+1))schedule(prio);
		}else{
			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,1);
		proc.put(1,1);
		proc.put(2,1);		
		
		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;
	}
}