Advertisement
Guest User

Untitled

a guest
May 24th, 2017
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.97 KB | None | 0 0
  1. int[] best;
  2.     double minimum = Integer.MAX_VALUE;
  3.     public void permute(int[] arr, int index, int start) {
  4.  
  5.         if (index >= arr.length - 1) {
  6.             double current = 0;
  7.             current += getDistance(start, arr[0]);
  8.             for (int i = 0; i < arr.length-1; i++) {
  9.                 current += getDistance(arr[i], arr[i+1]);
  10.                 if (current > minimum) {
  11.                     break;
  12.                 }
  13.             }
  14.             current += getDistance(arr[arr.length-1], start);
  15.             if (current < minimum) {
  16.                 minimum = current;
  17.                 this.best = arr;
  18.             }
  19.  
  20.            
  21.            
  22.         }
  23.        
  24.         for (int i = index; i < arr.length; i++) {
  25.             int t = arr[index];
  26.             arr[index] = arr[i];
  27.             arr[i] = t;
  28.  
  29.             permute(arr, index+1, start);
  30.  
  31.             t = arr[index];
  32.             arr[index] = arr[i];
  33.             arr[i] = t;
  34.         }
  35.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement