Copy CodeThe code is as follows:
Function: PHP implements various sorting algorithms
Author:windlike
datetime:2007-06-09
Bubble sort
function Bubblesort ($arr) {
$num = count ($arr);
for ($i =1; $i < $num; $i + +) {
for ($j = $num-1; $j >= $i; $j-) {
if ($arr [$j]< $arr [$j-1]) {
$iTemp = $arr [$j-1];
$arr [$j-1] = $arr [$j];
$arr [$j] = $iTemp;
}
}
}
return $arr;
}
Exchange Method Sort
function Exchangesort ($arr) {
$num = count ($arr);
for ($i =0; $i < $num-1; $i + +) {
for ($j = $i +1; $j < $num; $j + +) {
if ($arr [$j]< $arr [$i]) {
$iTemp = $arr [$i];
$arr [$i] = $arr [$j];
$arr [$j] = $iTemp;
}
}
}
return $arr;
}
Sorting by Selection method
function Selectsort ($arr) {
$num = count ($arr);
for ($i =0; $i < $num-1; $i + +) {
$iTemp = $arr [$i];
$iPos = $i;
for ($j = $i +1; $j < $num; $j + +) {
if ($arr [$j]< $iTemp) {
$iTemp = $arr [$j];
$iPos = $j;
}
}
$arr [$iPos] = $arr [$i];
$arr [$i] = $iTemp;
}
return $arr;
}
Insert Method Sort
function Insertsort ($arr) {
$num = count ($arr);
for ($i =1; $i < $num; $i + +) {
$iTemp = $arr [$i];
$iPos = $i-1;
while (($iPos >=0) && ($iTemp < $arr [$iPos]) {
$arr [$iPos +1] = $arr [$iPos];
$iPos--;
}
$arr [$iPos +1] = $iTemp;
}
return $arr;
}
Quick Sort
function QuickSort ($arr) {
$num = count ($arr);
$l = $r = 0;
for ($i =1; $i < $num; $i + +) {
if ($arr [$i] < $arr [0]) {
$left [] = $arr [$i];
$l + +;
}else{
$right [] = $arr [$i];
$r + +;
}
}
if ($l > 1) {
$left = QuickSort ($left);
}
$new _arr = $left;
$new _arr[] = $arr [0];
if ($r > 1) {
$right = QuickSort ($right);
}
for ($i =0; $i < $r; $i + +) {
$new _arr[] = $right [$i];
}
return $new _arr;
}
$arr = Array (7,1,6,5,2);
$arr _new = QuickSort ($arr);
echo "
echo "
";
?>
http://www.bkjia.com/PHPjc/320369.html www.bkjia.com true http://www.bkjia.com/PHPjc/320369.html techarticle Copy the code as follows: PHP//function: PHP implementation of various sorting algorithms//author:windlike//datetime:2007-06-09//bubble sort function Bubblesort ($arr) {$num = count ($arr); Fo ...