fork(5) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main(String[] args) {
  11. int[] massif = {5, 2, 4, 6, 1, 3, 2, 6};
  12. System.out.print("Массив до сортировки: ");
  13. for (int i = 0; i < massif.length; i++)
  14. System.out.print(massif[i] + " ");
  15. System.out.println("");
  16. massif = Sort(massif);
  17. System.out.print("Массив после сортировки: ");
  18. for (int i = 0; i < massif.length; i++)
  19. System.out.print(massif[i] + " ");
  20. }
  21.  
  22. public static int[] Sort(int X[]) {
  23. if (X.length == 1)
  24. return X;
  25. else {
  26. int half = (int) Math.floor(X.length / 2);
  27. int halfFirst[] = new int[half];
  28. int halfSecond[] = new int[X.length - half];
  29. for (int i = 0; i < X.length; i++) {
  30. if (i < half)
  31. halfFirst[i] = X[i];
  32. else
  33. halfSecond[i - half] = X[i];
  34. }
  35. halfFirst = Sort(halfFirst);
  36. halfSecond = Sort(halfSecond);
  37. X = SortNext(halfFirst, halfSecond);
  38. return X;
  39. }
  40. }
  41. public static int[] SortNext(int A[], int B[]) {
  42. int C[] = new int [A.length + B.length];
  43. int a = 0, b = 0;
  44. for (int i = 0; i < A.length + B.length; i++) {
  45. if (a == A.length) {
  46. C[i] = B[b];
  47. b++;
  48. }
  49. else if (b == B.length) {
  50. C[i] = A[a];
  51. a++;
  52. }
  53. else if (A[a] > B[b]) {
  54. C[i] = B[b];
  55. b++;
  56. }
  57. else {
  58. C[i] = A[a];
  59. a++;
  60. }
  61. }
  62. return C;
  63. }
  64. }
Success #stdin #stdout 0.05s 4386816KB
stdin
Standard input is empty
stdout
Массив до сортировки: 5 2 4 6 1 3 2 6 
Массив после сортировки: 1 2 2 3 4 5 6 6