Guest User

Untitled

a guest
Apr 27th, 2015
354
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. import java.util.Arrays;
  2.  
  3. public class BrokenSort1
  4. implements Sort
  5. {
  6. private static void mergeSort(int[] paramArrayOfInt, int paramInt1, int paramInt2)
  7. {
  8. if (paramInt2 - paramInt1 <= 16)
  9. {
  10. int[] arrayOfInt = Arrays.copyOfRange(paramArrayOfInt, paramInt1, paramInt2);
  11. new CorrectSort().sort(arrayOfInt);
  12. System.arraycopy(arrayOfInt, 0, paramArrayOfInt, paramInt1, paramInt2 - paramInt1);
  13. }
  14. else
  15. {
  16. if (paramInt2 - paramInt1 < 2) {
  17. return;
  18. }
  19. int i = (paramInt2 + paramInt1) / 2;
  20. mergeSort(paramArrayOfInt, paramInt1, i);
  21. mergeSort(paramArrayOfInt, i, paramInt2);
  22. merge(paramArrayOfInt, paramInt1, i, paramInt2);
  23. }
  24. }
  25.  
  26. private static void merge(int[] paramArrayOfInt, int paramInt1, int paramInt2, int paramInt3)
  27. {
  28. int[] arrayOfInt = new int[paramInt3 - paramInt1];
  29.  
  30. int i = 0;int j = paramInt1;
  31. for (int k = paramInt2; i < arrayOfInt.length; i++) {
  32. if ((j < paramInt2) && ((k >= paramInt3) || (paramArrayOfInt[j] <= paramArrayOfInt[k]))) {
  33. arrayOfInt[i] = paramArrayOfInt[(j++)];
  34. } else {
  35. arrayOfInt[i] = paramArrayOfInt[(k++)];
  36. }
  37. }
  38. System.arraycopy(arrayOfInt, 0, paramArrayOfInt, paramInt1, paramInt3 - paramInt1 - 1);
  39. }
  40.  
  41. public void sort(int[] paramArrayOfInt)
  42. {
  43. mergeSort(paramArrayOfInt, 0, paramArrayOfInt.length);
  44. }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment