Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Factorial
- */
- function factorial($number)
- {
- static $i = 0;
- static $internalNumber = null;
- if ($internalNumber === null) {
- $internalNumber = $number;
- }
- $i++;
- if ($i < $internalNumber) {
- return factorial($number * ($internalNumber - $i));
- }
- $i = 0;
- $internalNumber = null;
- return $number;
- }
- echo PHP_EOL;
- var_export(factorial(6)); // 720
- echo PHP_EOL;
- /**
- * Bubble sort
- */
- $array = [3, 4, 5, 1, 2];
- do {
- $continue = false;
- for ($i = 0; $i < count($array) -1; $i++) {
- if ($array[$i] > $array[$i + 1]) {
- $temp = $array[$i + 1];
- $array[$i + 1] = $array[$i];
- $array[$i] = $temp;
- $continue = true;
- }
- }
- } while ($continue);
- echo PHP_EOL;
- echo implode(', ', $array); // 1, 2, 3, 4, 5
- echo PHP_EOL;
- /**
- * Bubble sort reversed (or stone sort)
- */
- $array = [1, 2, 5, 4, 3];
- do {
- $continue = false;
- for ($i = count($array) - 1; $i > 0; $i--) {
- if ($array[$i - 1] < $array[$i]) {
- $temp = $array[$i - 1];
- $array[$i - 1] = $array[$i];
- $array[$i] = $temp;
- $continue = true;
- }
- }
- } while ($continue);
- echo PHP_EOL;
- echo implode(', ', $array); // 5, 4, 3, 2, 1
- echo PHP_EOL;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement