下面是一個(gè)使用PHP語言實(shí)現(xiàn)冒泡排序算法的示例代碼:
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;
}
// 測(cè)試示例
$nums = array(5, 3, 8, 2, 1, 4);
$sortedNums = bubbleSort($nums);
echo "排序后的數(shù)組為:" . implode(", ", $sortedNums);
以上代碼中,bubbleSort
函數(shù)接受一個(gè)數(shù)組參數(shù) $arr
,并使用冒泡排序算法對(duì)其進(jìn)行排序。在外層循環(huán)中,迭代數(shù)組元素的個(gè)數(shù)減去 1 次,用于控制比較的輪數(shù)。在內(nèi)層循環(huán)中,迭代剩余未排序部分的元素,如果當(dāng)前元素比下一個(gè)元素大,則交換它們的位置。通過這種方式,每一輪循環(huán)都將使得未排序部分的最大元素“冒泡”到末尾。最后,返回排序后的數(shù)組。
在上面的示例中,給定的輸入數(shù)組為 [5, 3, 8, 2, 1, 4]
。通過調(diào)用 bubbleSort
函數(shù),并將返回的排序后的數(shù)組輸出到屏幕上,可以得到排序后的結(jié)果:1, 2, 3, 4, 5, 8
。