Advertisement
Guest User

Untitled

a guest
May 6th, 2016
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.22 KB | None | 0 0
  1. package no.nowak.pw.exercises;
  2.  
  3. import java.util.Arrays;
  4. import java.util.Collections;
  5. import java.util.List;
  6.  
  7. import javax.swing.text.html.parser.Entity;
  8.  
  9. public class Exercise7Permutation extends Thread
  10. {
  11.  
  12.     public static Integer arrayLength;
  13.     public static Integer permuteCount = 0;
  14.     public static Double startTime, endTime, countingTime;
  15.  
  16.     @Override
  17.     public void run()
  18.     {
  19.         arrayLength = new Integer(Exercise7.getNText());
  20.         startTime = System.nanoTime() * 0.00000001;
  21.         Exercise7.setStartTime(startTime);
  22.         Integer[] arr = new Integer[arrayLength];
  23.         for (int i = 0; i < arrayLength; i++)
  24.         {
  25.             arr[i] = i;
  26.         }
  27.         permute(Arrays.asList(arr), 0);
  28.         endTime = System.nanoTime() * 0.00000001;
  29.         Exercise7.setEndTime(endTime);
  30.         Exercise7.setCountingTime(endTime - startTime);
  31.     }
  32.  
  33.     private static void permute(List<Integer> arr, int k)
  34.     {
  35.         for (int i = k; i < arr.size(); i++)
  36.         {
  37.             Collections.swap(arr, i, k);
  38.             permute(arr, k + 1);
  39.             Collections.swap(arr, k, i);
  40.         }
  41.         if (k == arr.size() - 1)
  42.         {
  43.             System.out.println(Arrays.toString(arr.toArray()));
  44.             permuteCount++;
  45.         }
  46.  
  47.         System.out.println(permuteCount);
  48.     }
  49.  
  50.     public static Integer setPermuteCount()
  51.     {
  52.         return permuteCount;
  53.     }
  54.  
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement