Advertisement
bbbbas

Merge.java

May 11th, 2014
262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. package pr3;
  2.  
  3. import java.util.Arrays;
  4.  
  5. /**
  6. * Merge.java
  7. *
  8. * @author Blagovesta Stanoeva
  9. * @author Rene Rahn
  10. * @param a
  11. * , b - zwei sortierte Arrays
  12. * @param ab
  13. * - sortiertes Array, Produkt von a und b
  14. *
  15. */
  16.  
  17. public class Merge {
  18. /*
  19. * Wir implementieren die statische Methode merge(..), die als Parametern 2
  20. * sortierte Arrays erhдlt und ein sort. Array als Ausgabe produziert.
  21. */
  22. public static int[] merge(int[] a, int[] b) {
  23.  
  24. int[] ab = new int[a.length + b.length]; // Wir speichern erstmal die
  25. // ungeordnete Elemente in 1
  26. // Array
  27. System.arraycopy(a, 0, ab, 0, a.length); // sichere Kopie mit
  28. // .arraycopy()
  29. System.arraycopy(b, 0, ab, a.length, b.length);
  30. int i = 0, j = 0, k = 0;
  31. while (i < a.length && j < b.length) {
  32. if (a[i] < b[j]) {
  33. ab[k] = a[i];
  34. i++;
  35. } else {
  36. ab[k] = b[j];
  37. j++;
  38. }
  39. k++;
  40. }
  41.  
  42. while (i < a.length) {
  43. ab[k] = a[i];
  44. i++;
  45. k++;
  46. }
  47.  
  48. while (j < b.length) {
  49. ab[k] = b[j];
  50. j++;
  51. k++;
  52. }
  53.  
  54. System.out.println(" " + Arrays.toString(ab)); // Consoleausgabe
  55.  
  56. return ab;
  57. }
  58.  
  59. /* Testen im Form von main-Methode */
  60.  
  61. public static void main(String[] args) {
  62. int[] A = { 1, 2, 3, 4, 4, 5, 6, 6, 7 };
  63. int[] B = { 4, 5, 5, 5, 6, 7, 8, 9 };
  64.  
  65. System.out.println("Test 1: ");
  66. merge(A, B);
  67.  
  68. int[] C = { 9, 15, 16, 28 };
  69. int[] D = { 1, 8, 14, 15, 26, 31 };
  70. System.out.println("Test 2: ");
  71. merge(C, D);
  72.  
  73. int[] E = { -3, -1, 0, 29358, 29359, 300000 };
  74. int[] F = { -29, -2, 0, 100, 29360 };
  75. System.out.println("Test 3: ");
  76. merge(E, F);
  77.  
  78. }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement