@ 2015-11-28T21:15:39Z <?php
$arr = [
[15, 16, 8, 1],
[2, 3, 4, 7],
[9, 11, 19, 6]
];
function bubbleSortRowCol(&$arr) {
$colCount = count($arr[0]);
$rowCount = count($arr);
$tempArr = [];
$columnArr = [];
foreach($arr as $key => $value) {
if($key % 2 === 0) {
$tempArr[$key] = bubbleSortAsc($value);
} else {
$tempArr[$key] = bubbleSortDesc($value);
}
}
for($i = 0; $i < $colCount; $i++) {
$columnArr[$i] = bubbleSort(array_column($tempArr, $i));
}
for($i = 0; $i < $rowCount; $i++) {
$tempArr[$i] = bubbleSort(array_column($columnArr, $i));
}
$arr = $tempArr;
}
function bubbleSortAsc(array $arr) {
$sorted = false;
while (false === $sorted) {
$sorted = true;
for ($i = 0; $i < count($arr)-1; ++$i) {
$current = $arr[$i];
$next = $arr[$i+1];
if ($next < $current) {
$arr[$i] = $next;
$arr[$i+1] = $current;
$sorted = false;
}
}
}
return $arr;
}
function bubbleSortDesc(array $arr) {
$sorted = false;
while (false === $sorted) {
$sorted = true;
for ($i = 0; $i < count($arr)-1; ++$i) {
$current = $arr[$i];
$next = $arr[$i+1];
if ($next > $current) {
$arr[$i] = $next;
$arr[$i+1] = $current;
$sorted = false;
}
}
}
return $arr;
}
function bSort($arr) {
bubbleSortRowCol($arr);
return $arr;
}
print_r(bSort($arr));
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 7.0.0 - 7.0.20 , 7.1.0 - 7.1.7 , 7.1.20 , 7.2.0 - 7.2.33 , 7.3.16 - 7.3.33 , 7.4.0 - 7.4.33 , 8.0.0 - 8.0.30 , 8.1.0 - 8.1.28 , 8.2.0 - 8.2.18 , 8.3.0 - 8.3.6 Fatal error: Uncaught Error: Call to undefined function bubbleSort() in /in/59aTg:25
Stack trace:
#0 /in/59aTg(71): bubbleSortRowCol(Array)
#1 /in/59aTg(76): bSort(Array)
#2 {main}
thrown in /in/59aTg on line 25
Process exited with code 255 . Output for 7.1.10 Process exited with code 137 . Output for 5.5.24 - 5.5.35 , 5.6.8 - 5.6.28 Fatal error: Call to undefined function bubbleSort() in /in/59aTg on line 25
Process exited with code 255 . preferences:dark mode live preview
156.09 ms | 402 KiB | 183 Q