Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.61 KB | None | 0 0
  1. package Uebung01;
  2.  
  3. import java.lang.reflect.Array;
  4.  
  5. public class Johnson_Algorithm {
  6.  
  7. public static void main(String[] args) {
  8.  
  9. Auftrag[] auftragArray = new Auftrag[7];
  10.  
  11. auftragArray[0] = new Auftrag(1, 3, 5);
  12. auftragArray[1] = new Auftrag(2, 4, 9);
  13. auftragArray[2] = new Auftrag(3, 8, 6);
  14. auftragArray[3] = new Auftrag(4, 1, 2);
  15. auftragArray[4] = new Auftrag(5, 7, 7);
  16. auftragArray[5] = new Auftrag(6, 4, 5);
  17. auftragArray[6] = new Auftrag(7, 5, 1);
  18.  
  19. johnson_Algorithm(auftragArray);
  20.  
  21. }
  22.  
  23. private static void johnson_Algorithm(Auftrag[] arr) {
  24.  
  25. Auftrag min = arr[0];
  26. int minAufragsPos = 0;
  27. int m1pos = 0;
  28. int m2pos = arr.length - 1;
  29. int[] newAuftragArray = new int[arr.length];
  30.  
  31. for (int x = 0; x < arr.length; x++) {
  32. for (int i = 0; i < arr.length; i++) {
  33. Auftrag aktAuftrag = arr[i];
  34.  
  35. if (min.gettM1() > aktAuftrag.gettM1() && min.gettM2() > aktAuftrag.gettM1()) {
  36. min = aktAuftrag;
  37. minAufragsPos = i;
  38. }
  39.  
  40. else if (min.gettM2() > aktAuftrag.gettM2() && min.gettM1() > aktAuftrag.gettM2()) {
  41. min = aktAuftrag;
  42. minAufragsPos = i;
  43. }
  44. }
  45. if (min.gettM1() < min.gettM2()) {
  46. newAuftragArray[m1pos] = min.getAuftrNr();
  47. m1pos = m1pos + 1;
  48. arr[minAufragsPos].settM1(Integer.MAX_VALUE);
  49. arr[minAufragsPos].settM2(Integer.MAX_VALUE);
  50.  
  51. } else {
  52. newAuftragArray[m2pos] = min.getAuftrNr();
  53. m2pos = m2pos - 1;
  54. arr[minAufragsPos].settM1(Integer.MAX_VALUE);
  55. arr[minAufragsPos].settM2(Integer.MAX_VALUE);
  56. }
  57. }
  58.  
  59. for (int a : newAuftragArray) {
  60. System.out.println(a);
  61. }
  62. }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement