кодесурса
«PHP

Алгоритм поиска и сортировки PHP: быстрая сортировка

script1adsense2code
script1adsense3code

Алгоритм поиска и сортировки PHP: упражнение-1 с решением

Напишите программу PHP для сортировки списка элементов с помощью быстрой сортировки.

Быстрая сортировка - это сортировка сравнения, это означает, что она может сортировать элементы любого типа, для которых определено отношение «меньше чем» (формально, общий порядок).

Наглядная презентация - алгоритм быстрой сортировки:

«PHP
«с

Анимированная визуализация алгоритма быстрой сортировки. Горизонтальные линии являются опорными значениями.

Анимационные кредиты: RolandH

Пример решения:

PHP-код:

<?php
function quick_sort($my_array)
 {
	$loe = $gt = array();
	if(count($my_array) < 2)
	{
		return $my_array;
	}
	$pivot_key = key($my_array);
	$pivot = array_shift($my_array);
	foreach($my_array as $val)
	{
		if($val <= $pivot)
		{
			$loe[] = $val;
		}elseif ($val > $pivot)
		{
			$gt[] = $val;
		}
	}
	return array_merge(quick_sort($loe),array($pivot_key=>$pivot),quick_sort($gt));
}
 
$my_array = array(3, 0, 2, 5, -1, 4, 1);
echo 'Original Array : '.implode(',',$my_array).'\n';
$my_array = quick_sort($my_array);
echo 'Sorted Array : '.implode(',',$my_array);
?>

Пример вывода:

 Исходный массив: 3,0,2,5, -1,4,1                             
Sorted Array: -1,0,1,2,3,4,5 

Блок-схема:

«Блок-схема:

Редактор кода PHP:


Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.

Предыдущая: Упражнения по алгоритму поиска и сортировки PHP Home.
Далее: Напишите программу PHP для сортировки списка элементов, используя сортировку кучи.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code