php冒泡排序算法代碼怎么寫

PHP
小億
84
2024-01-19 14:01:09
欄目: 編程語言

下面是一個(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。

0