共計 913 個字符,預(yù)計需要花費 3 分鐘才能閱讀完成。
PHP 中有多種排序算法可以實現(xiàn),以下是常見的幾種排序算法的實現(xiàn)示例:
- 冒泡排序算法:
function bubbleSort($arr) {$n = count($arr);
for ($i = 0; $i < $n - 1; $i++) {for ($j = 0; $j < $n - $i - 1; $j++) {if ($arr[$j] > $arr[$j+1]) {$temp = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $temp;
}
}
}
return $arr;
}
$arr = [5, 3, 8, 4, 2];
$result = bubbleSort($arr);
print_r($result);
- 選擇排序算法:
function selectionSort($arr) {$n = count($arr);
for ($i = 0; $i < $n - 1; $i++) {$minIndex = $i;
for ($j = $i + 1; $j < $n; $j++) {if ($arr[$j] < $arr[$minIndex]) {$minIndex = $j;
}
}
if ($minIndex != $i) {$temp = $arr[$i];
$arr[$i] = $arr[$minIndex];
$arr[$minIndex] = $temp;
}
}
return $arr;
}
$arr = [5, 3, 8, 4, 2];
$result = selectionSort($arr);
print_r($result);
- 插入排序算法:
function insertionSort($arr) {$n = count($arr);
for ($i = 1; $i < $n; $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;
}
$arr = [5, 3, 8, 4, 2];
$result = insertionSort($arr);
print_r($result);
以上是常見的幾種排序算法的 PHP 實現(xiàn)示例。不同的排序算法在時間復(fù)雜度和空間復(fù)雜度上有所差異,選擇適合具體場景的排序算法可以提高算法效率。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完