-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhelpers.php
More file actions
31 lines (22 loc) · 821 Bytes
/
Copy pathhelpers.php
File metadata and controls
31 lines (22 loc) · 821 Bytes
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
<?php
function evaluateAlgorithm(Sort $algorithm)
{
echo "\n" . get_class($algorithm);
echo "\n - Sort reversed array: " . getRunningTime($algorithm);
echo $algorithm->isSorted() ? " - Is sorted." : " - Not sorted.";
$newArray = $algorithm->getArray();
shuffle($newArray);
$algorithm->setArray($newArray);
echo "\n - Sort shuffled array: " . getRunningTime($algorithm);
echo $algorithm->isSorted() ? " - Is sorted." : " - Not sorted.";
echo "\n - Sort already sorted: " . getRunningTime($algorithm);
echo $algorithm->isSorted() ? " - Is sorted." : " - Not sorted.";
}
function getRunningTime($algorithm)
{
$startTime = time();
$algorithm->run();
$endTime = time();
$totalTimeInSeconds = $endTime - $startTime;
return "{$totalTimeInSeconds} seconds";
}