PHPでバブルソート
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
<?php function p($arg){ echo $arg . PHP_EOL; } function setRandomForArray(&$a){ $len = count($a); for($i=0; $i<$len; $i++){ $a[$i] = rand(0, 9); } } function createArray($len) { $a = []; for($i=0; $i<$len; $i++){ $a[] = 0; } return $a; } function createRandomizedArray($len){ $a = createArray($len); setRandomForArray($a); return $a; } function swap(&$a, $i, $j){ $t = $a[$i]; $a[$i] = $a[$j]; $a[$j] = $t; } function bubbleSort(&$a){ $len = count($a); for($i=0; $i<$len-1; $i++){ for($j=$i+1; $j<$len; $j++){ if($a[$j] < $a[$i]){ swap($a, $i, $j); } } } } function dispArrayLine($a) { $len = count($a); for($i=0; $i<$len; $i++){ echo $a[$i]; if($i === $len - 1){ echo PHP_EOL; }else{ echo " "; } } } function main(){ $a = createRandomizedArray(30); dispArrayLine($a); bubbleSort($a); dispArrayLine($a); } main(); |
1 2 |
4 1 3 4 7 8 3 8 8 5 3 2 8 5 0 6 9 9 3 4 4 1 5 7 3 1 8 2 5 2 0 1 1 1 2 2 2 3 3 3 3 3 4 4 4 4 5 5 5 5 6 7 7 8 8 8 8 8 9 9 |