Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Uebung01;
- import java.lang.reflect.Array;
- public class Johnson_Algorithm {
- public static void main(String[] args) {
- Auftrag[] auftragArray = new Auftrag[7];
- auftragArray[0] = new Auftrag(1, 3, 5);
- auftragArray[1] = new Auftrag(2, 4, 9);
- auftragArray[2] = new Auftrag(3, 8, 6);
- auftragArray[3] = new Auftrag(4, 1, 2);
- auftragArray[4] = new Auftrag(5, 7, 7);
- auftragArray[5] = new Auftrag(6, 4, 5);
- auftragArray[6] = new Auftrag(7, 5, 1);
- johnson_Algorithm(auftragArray);
- }
- private static void johnson_Algorithm(Auftrag[] arr) {
- Auftrag min = arr[0];
- int minAufragsPos = 0;
- int m1pos = 0;
- int m2pos = arr.length - 1;
- int[] newAuftragArray = new int[arr.length];
- for (int x = 0; x < arr.length; x++) {
- for (int i = 0; i < arr.length; i++) {
- Auftrag aktAuftrag = arr[i];
- if (min.gettM1() > aktAuftrag.gettM1() && min.gettM2() > aktAuftrag.gettM1()) {
- min = aktAuftrag;
- minAufragsPos = i;
- }
- else if (min.gettM2() > aktAuftrag.gettM2() && min.gettM1() > aktAuftrag.gettM2()) {
- min = aktAuftrag;
- minAufragsPos = i;
- }
- }
- if (min.gettM1() < min.gettM2()) {
- newAuftragArray[m1pos] = min.getAuftrNr();
- m1pos = m1pos + 1;
- arr[minAufragsPos].settM1(Integer.MAX_VALUE);
- arr[minAufragsPos].settM2(Integer.MAX_VALUE);
- } else {
- newAuftragArray[m2pos] = min.getAuftrNr();
- m2pos = m2pos - 1;
- arr[minAufragsPos].settM1(Integer.MAX_VALUE);
- arr[minAufragsPos].settM2(Integer.MAX_VALUE);
- }
- }
- for (int a : newAuftragArray) {
- System.out.println(a);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement