写一段php代码,能够实现常用排序算法
时间: 2023-03-05 08:23:06 浏览: 78
用php实现几种常见的排序算法共6页.pdf.zip
以下是使用PHP语言实现几种常用排序算法的示例代码:
1. 冒泡排序
```
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]) {
$tmp = $arr[$j];
$arr[$j] = $arr[$j + 1];
$arr[$j + 1] = $tmp;
}
}
}
return $arr;
}
```
2. 选择排序
```
function selectSort($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;
}
}
if ($minIndex != $i) {
$tmp = $arr[$i];
$arr[$i] = $arr[$minIndex];
$arr[$minIndex] = $tmp;
}
}
return $arr;
}
```
3. 插入排序
```
function insertSort($arr) {
$len = count($arr);
for ($i = 1; $i < $len; $i++) {
$j = $i;
while ($j > 0 && $arr[$j] < $arr[$j - 1]) {
$tmp = $arr[$j];
$arr[$j] = $arr[$j - 1];
$arr[$j - 1] = $tmp;
$j--;
}
}
return $arr;
}
```
4. 快速排序
```
function quickSort($arr) {
$len = count($arr);
if ($len <= 1) {
return $arr;
}
$pivotIndex = (int)($len / 2);
$pivot = $arr[$pivotIndex];
$left = [];
$right = [];
for ($i = 0; $i < $len; $i++) {
if ($i == $pivotIndex) {
continue;
}
if ($arr[$i] < $pivot) {
$left[] = $arr[$i];
} else {
$right[] = $arr[$i];
}
}
return array_merge(quickSort($left), [$pivot], quickSort($right));
}
```
以上代码仅作为示例,实际使用时还需要进行测试和优化。
阅读全文