Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.15 KB | None | 0 0
  1. import java.awt.*;
  2. import java.util.Random;
  3. import zuclib.*;
  4. class Contatore
  5. {
  6. public long confronti;
  7. public long assegnamenti;
  8. public Contatore()
  9. {
  10. confronti = 0;
  11. assegnamenti = 0;
  12. }
  13. public void reset()
  14. {
  15. confronti = 0;
  16. assegnamenti = 0;
  17. }
  18. public String toString()
  19. {
  20. return "Confronti : "+confronti+" Assegnamenti: "+assegnamenti;
  21. }
  22. }
  23. public class Test
  24. {
  25. public static void bubble(int[] array,Contatore c)
  26. {
  27. c.reset();
  28. for(int i = 0; i < array.length; i++) {
  29. boolean flag = false;
  30. for(int j = 0; j < array.length-1; j++) {
  31. c.confronti++;
  32. if(array[j]>array[j+1]) {
  33. c.assegnamenti+=3;
  34. int k = array[j];
  35. array[j] = array[j+1];
  36. array[j+1] = k;
  37. flag=true;
  38. }
  39. }
  40. if(!flag) break;
  41. }
  42. }
  43. public static void selection(int[] array,Contatore c)
  44. {
  45. c.reset();
  46. int posmin = 0;
  47. for(int i=0;i<array.length;i++)
  48. {
  49. int minimo = array[i];
  50. for(int k = i+1;k<array.length;k++)
  51. {
  52. c.confronti++;
  53. if(array[k]<minimo)
  54. {
  55. c.assegnamenti+=2;
  56. minimo = array[k];
  57. posmin = k;
  58. }
  59. }
  60. c.assegnamenti+=3;
  61. int scambio = array[i];
  62. array[i] = minimo;
  63. array[posmin] = scambio;
  64. }
  65. }
  66. public static int[] caricaRand(int n,long seed)
  67. {
  68. int[] newarray = new int[n];
  69. Random r = new Random();
  70. if(seed!=0)
  71. {
  72. r.setSeed(seed);
  73. }
  74. for(int i=0;i<n;i++)
  75. {
  76. newarray[i] = r.nextInt(101);
  77. }
  78. return newarray;
  79. }
  80. public static int[] caricaSeq(int n,boolean reverse)
  81. {
  82. int[] newarray = new int[n];
  83. if(reverse)
  84. {
  85. for(int i=0;i<n;i++)
  86. {
  87. newarray[i] = n-i-1;
  88. }
  89. }else{
  90. for(int i=0;i<n;i++)
  91. {
  92. newarray[i] = i;
  93. }
  94. }
  95.  
  96. return newarray;
  97. }
  98. public static void mostra(int[] array)
  99. {
  100. for(int i = 0;i<array.length;i++)
  101. {
  102. System.out.println(array[i]);
  103. }
  104. }
  105. public static double size = 600;
  106. public static double converti(double N)
  107. {
  108. return N/size;
  109. }
  110. public static void main(String[] args)
  111. {
  112. Tartaruga t = new Tartaruga();
  113. t.pennaSu();
  114. t.gotoXY(0,0);
  115. t.pennaGiu();
  116. t.setColore(Color.BLACK);
  117. Contatore c = new Contatore();
  118. int[] array;
  119. double startX = 0.1;
  120. for(int i = 10;i<=100000;i*=10)
  121. {
  122. array = caricaSeq(i/100,false);
  123. bubble(array,c);
  124. t.gotoXY(startX,0.000001*c.assegnamenti);
  125. startX+=0.1;
  126. }
  127. }
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement