以下是一个使用PHP实现常见排序算法的实例,包括冒泡排序、选择排序、插入排序和快速排序。我们将使用数组作为示例数据,并通过表格形式展示排序前后的结果。
冒泡排序
```php

function bubbleSort($arr) {
$len = count($arr);
for ($i = 0; $i < $len; $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;
}
```
| 排序前 | 排序后 |
|---|---|
| 5,2,9,1,5,6 | 1,2,5,5,6,9 |
选择排序
```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[$i];
$arr[$i] = $arr[$minIndex];
$arr[$minIndex] = $temp;
}
return $arr;
}
```
| 排序前 | 排序后 |
|---|---|
| 5,2,9,1,5,6 | 1,2,5,5,6,9 |
插入排序
```php
function insertionSort($arr) {
$len = count($arr);
for ($i = 1; $i < $len; $i++) {
$key = $arr[$i];
$j = $i - 1;
while ($j >= 0 && $arr[$j] > $key) {
$arr[$j + 1] = $arr[$j];
$j--;
}
$arr[$j + 1] = $key;
}
return $arr;
}
```
| 排序前 | 排序后 |
|---|---|
| 5,2,9,1,5,6 | 1,2,5,5,6,9 |
快速排序
```php
function quickSort($arr) {
if (count($arr) <= 1) {
return $arr;
}
$left = [];
$right = [];
$pivot = $arr[0];
for ($i = 1; $i < count($arr); $i++) {
if ($arr[$i] < $pivot) {
$left[] = $arr[$i];
} else {
$right[] = $arr[$i];
}
}
return array_merge(quickSort($left), [$pivot], quickSort($right));
}
```
| 排序前 | 排序后 |
|---|---|
| 5,2,9,1,5,6 | 1,2,5,5,6,9 |





