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

冒泡排序

```php

实例经典排序php,实例经典排序PHP——实现常见排序算法  第1张

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,61,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,61,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,61,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,61,2,5,5,6,9