note 94863 added to function.sort
| From: | contato at thiagobelem dot net | Date: | Sun, 29 Nov 2009 19:28:41 +0000 |
| Subject: | note 94863 added to function.sort | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-163385@lists.php.net to get a copy of this message | ||
Quicksort implemented:
<?php
/**
* Função para ordenação de um array usando o método Quicksort
*/
function quickSort($array) {
$tamanho = count($array);
// Se o array tiver um ou menos elementos, retorna ele mesmo
if ($tamanho <= 1) return $array;
$menores = array();
$maiores = array();
$pivo = $array[0]; // Escolhe o primeiro elemento como pivô
// Monta outros dois arrays:
// 1 - $menores com os elementos menores ou iguais a $pivo
// 2 - $maiores com os elementos maiores que $pivo
for ($n = 1; $n < $tamanho; $n++) {
if ($array[$n] <= $pivo) {
$menores[] = $array[$n];
} else {
$maiores[] = $array[$n];
}
}
// Ordena recursivamente os dois arrays criados
$menores = quickSort($menores);
$maiores = quickSort($maiores);
// Une os dois arrays com o $pivo
return array_merge($menores, array($pivo), $maiores);
}
?>
----
Server IP: 187.16.23.128
Probable Submitter: 189.122.89.81
----
Manual Page -- http://www.php.net/manual/en/function.sort.php
Edit -- https://master.php.net/note/edit/94863
Del: integrated -- https://master.php.net/note/delete/94863/integrated
Del: useless -- https://master.php.net/note/delete/94863/useless
Del: bad code -- https://master.php.net/note/delete/94863/bad+code
Del: spam -- https://master.php.net/note/delete/94863/spam
Del: non-english -- https://master.php.net/note/delete/94863/non-english
Del: in docs -- https://master.php.net/note/delete/94863/in+docs
Del: other reasons-- https://master.php.net/note/delete/94863
Reject -- https://master.php.net/note/reject/94863
Search -- https://master.php.net/manage/user-notes.php