Algorithms / Sorting

<?php

// Time Complexity O(n^2)
// Space Complexity O(1)

function bubbleSort(array $items): array {
    $len = count($items);
    for ($i = 0; $i < $len; $i++) {
        for ($j = $i + 1; $j < $len; $j++) {
            if ($items[$j] < $items[$i]) {
                $tmp = $items[$j];
                $items[$j] = $items[$i];
                $items[$i] = $tmp;
            }
        }           
    }
    return $items; 
}

$items = [ 41532 ];

$sortItems = bubbleSort($items);
// sortItems is {1, 2, 3, 4, 5}
print_r($sortItems);

// *** simplified speed test ***
$items = [];
for ($i = 0; $i < 200; $i++) {
    $items[$i] = $i;
}
$tmp = $items[5];
$items[5] = $items[6];
$items[6] = $tmp;         
$count = 10000;
$start = strtotime("now");

for ($i = 0; $i < $count; $i++)
    bubbleSort($items);

$seconds = strtotime("now") - $start;

echo $seconds;
// about 8 seconds