fork(1) download
  1. <?php
  2.  
  3. function generateArray($n) {
  4. $array = [];
  5. for ($i=0; $i<=$n; $i++) {
  6. $array[$i] = mt_rand(10,99);
  7. }
  8. return $array;
  9. }
  10.  
  11. function printArray($array) {
  12. echo implode($array, ", ") . ".\n";
  13. }
  14.  
  15.  
  16. function sortArrayBubble1($array) {
  17. for ($i=0; $i<count($array)-1; $i++) {
  18. for ($j=0; $j<count($array)-1; $j++) {
  19. if ($array[$j] > $array[$j+1]) {
  20. $a = $array[$j];
  21. $array[$j] = $array[$j+1];
  22. $array[$j+1] = $a;
  23. }
  24. }
  25. }
  26. return $array;
  27. }
  28.  
  29. function sortArrayBubble2($array) {
  30. $sorted = FALSE;
  31. while ($sorted == FALSE) {
  32. $sorted = TRUE;
  33. for ($i=0; $i<count($array)-1; $i++) {
  34. if ($array[$i]>$array[$i+1]) {
  35. $a = $array[$i];
  36. $array[$i] = $array[$i+1];
  37. $array[$i+1] = $a;
  38. $sorted = FALSE;
  39. }
  40. }
  41. }
  42. return $array;
  43. }
  44.  
  45. $a = generateArray(15);
  46.  
  47. echo "Сгенерированный массив: ";
  48. printArray($a);
  49.  
  50. $b = sortArrayBubble1($a);
  51. echo "Сортировка пузырьком: ";
  52. printArray($b);
  53.  
  54. $c = sortArrayBubble2($a);
  55. echo "пузырек 2.0: ";
  56. printArray($c);
  57.  
Success #stdin #stdout 0.02s 20568KB
stdin
Standard input is empty
stdout
Сгенерированный массив: 49, 95, 98, 42, 89, 83, 73, 57, 30, 41, 19, 98, 51, 40, 49, 92.
Сортировка пузырьком: 19, 30, 40, 41, 42, 49, 49, 51, 57, 73, 83, 89, 92, 95, 98, 98.
пузырек 2.0: 19, 30, 40, 41, 42, 49, 49, 51, 57, 73, 83, 89, 92, 95, 98, 98.