* * @package bubble_sort * @author Andrey Babaev <*****@*****.**> */ require_once '../../common/functions.php'; // Prepare test array $a = array(4, 10, 21, 5, 12, 43, 0, -4, 12, 5, 6, 1, 3, 27, 11, 15, 9); // Print array before sorting before_sort($a); // Sort array $a = merge_sort($a); //Print array after sorting after_sort($a); measure_exec_time('merge_sort', 10000); measure_exec_time('merge_sort', 20000); measure_exec_time('merge_sort', 30000); /** * Array sorting function * Use merge algorythm for sorting * * @param array $a Array for sorting * @return array $new_arr Sorting array */ function merge_sort(array $a) { if (count($a) <= 1) { return $a; } $arr1 = array_slice($a, 0, count($a) / 2); $arr2 = array_slice($a, count($a) / 2); $arr1 = merge_sort($arr1);
* Sorting array by insertion algorithm * * @package bubble_sort * @author Andrey Babaev <*****@*****.**> */ require_once '../../common/functions.php'; // Prepare test array $a = array(4, 10, 21, 5, 12, 43, 0, -4, 12, 5, 6, 1, 3, 27, 11, 15); // Print array before sorting before_sort($a); // Sort array $a = insertion_sort($a); // Print array after sorting after_sort($a); measure_exec_time('insertion_sort', 10000); measure_exec_time('insertion_sort', 20000); //measure_exec_time('insertion_sort', 30000); // too long for wait /** * Array sorting function * Use insertion algorythm for sorting * * @param array $a Array for sorting * @return array $a Sorting array */ function insertion_sort(array $a) { $arr_length = count($a); for ($j = 1; $j < $arr_length; $j++) { $key = $a[$j]; $i = $j - 1; while ($i >= 0 && $a[$i] > $key) {
* * @package bubble_sort * @author Andrey Babaev <*****@*****.**> */ require_once '../../common/functions.php'; // Prepare test array $a = array(4, 10, 21, 5, 12, 43, 0, -4, 12, 5, 6, 1, 3, 27, 11, 15); // Print array before sorting before_sort($a); // Sort array $a = bubble_sort($a); // Print array after sorting after_sort($a); measure_exec_time('bubble_sort', 1000); measure_exec_time('bubble_sort', 5000); measure_exec_time('bubble_sort', 10000); /** * Array sorting function * Use bubble algorythm for sorting * * @param array $a Array for sorting * @return array $a Sorting array */ function bubble_sort(array $a) { for ($i = 0; $i < count($a); $i++) { for ($j = count($a) - 1; $j > $i; $j--) { if ($a[$j] < $a[$j - 1]) { $x = $a[$j]; $a[$j] = $a[$j - 1]; $a[$j - 1] = $x;