Advertisement
Krefeld187

Untitled

Nov 8th, 2020
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.06 KB | None | 0 0
  1. import java.util.Random;
  2. public class Aufgaben
  3. {
  4. public static void main(String[] args)
  5. {
  6. int Feld_Anzahl_der_Elemente[] = {10_000,20_000,40_000,80_000,160_000};
  7. for(int i = 0; i < Feld_Anzahl_der_Elemente.length; ++i)
  8. {
  9. int laenge = Feld_Anzahl_der_Elemente[i];
  10. int Feld_Quicksort[] = new int [laenge];
  11. int Feld_Insertionsort[] = new int[laenge];
  12. erzeugen(Feld_Insertionsort, 1000);
  13. kopieren(Feld_Insertionsort, Feld_Quicksort); // Das zweite ist das in das kopiert werden soll
  14. insertionsort(Feld_Insertionsort, laenge);
  15. long begin = System.currentTimeMillis();
  16. quicksort(Feld_Quicksort, 0, Feld_Quicksort.length-1);
  17. long end = System.currentTimeMillis();
  18. System.out.println("Quicksort: "+ laenge + " : " + (end-begin) + "ms");
  19. System.out.println();
  20. }
  21. }
  22.  
  23. static public void kopieren(int[] feld, int[] feld1)
  24. {
  25. for(int i = 0; i < feld.length; ++i)
  26. {
  27. feld1[i] = feld[i];
  28. }
  29. }
  30.  
  31. static public void erzeugen(int[] feld, int max)
  32. {
  33. Random r = new Random();
  34. for(int i = 0; i < feld.length;++i)
  35. {
  36. feld[i] = r.nextInt(max)+1;
  37. }
  38. }
  39.  
  40. static public void ausgeben(int[] feld)
  41. {
  42. for(int i = 0; i < feld.length;++i)
  43. {
  44. System.out.print(feld[i] + " ");
  45. }
  46. System.out.println();
  47. }
  48.  
  49. static public void insertionsort(int[] feld, int a)
  50. {
  51. long begin = System.currentTimeMillis();
  52. for(int i = 1; i < feld.length;++i)
  53. {
  54. int temp = feld[i];
  55. int j = i-1;
  56. while(j>=0 && feld[j] > temp)
  57. {
  58. feld[j+1] = feld[j];
  59. --j;
  60. }
  61. feld[j+1] = temp;
  62. }
  63. long end = System.currentTimeMillis();
  64. System.out.println("Insertionsort: "+a + " : " + (end-begin) + "ms");
  65. }
  66.  
  67. static void quicksort(int a[], int l, int r)
  68. {
  69. int v, i, j , t;
  70.  
  71. if (r > l)
  72. {
  73. v = a[r];
  74. i = l-1;
  75. j = r;
  76. for (;;)
  77. {
  78. while (a[++i] < v) ;
  79. while (a[--j] > v) ;
  80. if (i >= j)
  81. break;
  82. t = a[i];
  83. a[i] = a[j];
  84. a[j] = t;
  85. }
  86. t = a[i];
  87. a[i] = a[r];
  88. a[r] = t;
  89. quicksort(a, l, i-1);
  90. quicksort(a, i+1, r);
  91. }
  92. }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement