常见的排序算法,并给出PHP代码示例
时间: 2023-06-04 18:02:53 浏览: 63
好的,以下是常见的排序算法及对应的PHP代码示例:
1. 冒泡排序
<?php
function bubbleSort($arr) {
$len = count($arr);
for ($i = 0; $i < $len - 1; $i++) {
for ($j = 0; $j < $len - $i - 1; $j++) {
if ($arr[$j] > $arr[$j + 1]) {
$temp = $arr[$j];
$arr[$j] = $arr[$j + 1];
$arr[$j + 1] = $temp;
}
}
}
return $arr;
}
?>
2. 选择排序
<?php
function selectionSort($arr) {
$len = count($arr);
for ($i = 0; $i < $len - 1; $i++) {
$minIndex = $i;
for ($j = $i + 1; $j < $len; $j++) {
if ($arr[$j] < $arr[$minIndex]) {
$minIndex = $j;
}
}
$temp = $arr[$minIndex];
$arr[$minIndex] = $arr[$i];
$arr[$i] = $temp;
}
return $arr;
}
?>
3. 插入排序
<?php
function insertionSort($arr) {
$len = count($arr);
for ($i = 1; $i < $len; $i++) {
$temp = $arr[$i];
$j = $i - 1;
while ($j >= 0 && $arr[$j] > $temp) {
$arr[$j + 1] = $arr[$j];
$j--;
}
$arr[$j + 1] = $temp;
}
return $arr;
}
?>
4. 快速排序
<?php
function quickSort($arr) {
$len = count($arr);
if ($len <= 1) {
return $arr;
}
$pivot = $arr[0];
$left = $right = array();
for ($i = 1; $i < $len; $i++) {
if ($arr[$i] < $pivot) {
$left[] = $arr[$i];
} else {
$right[] = $arr[$i];
}
}
return array_merge(quickSort($left), array($pivot), quickSort($right));
}
?>
以上就是冒泡排序、选择排序、插入排序和快速排序的PHP代码示例,希望能对你有所帮助。