PHP冒泡排序法,如何有效地对数组进行排序?

冒泡排序法(Bubble Sort)

冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来,遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

PHP实现冒泡排序法

```php

PHP冒泡排序法,如何有效地对数组进行排序?插图1
(图片来源网络,侵删)

function bubbleSort($arr) {

$n = count($arr);

for ($i = 0; $i

for ($j = 0; $j

if ($arr[$j] > $arr[$j + 1]) {

PHP冒泡排序法,如何有效地对数组进行排序?插图3
(图片来源网络,侵删)

// 交换 arr[$j] 和 arr[$j+1]

$temp = $arr[$j];

$arr[$j] = $arr[$j + 1];

$arr[$j + 1] = $temp;

}

PHP冒泡排序法,如何有效地对数组进行排序?插图5
(图片来源网络,侵删)

}

}

return $arr;

// 示例用法

$array = array(64, 34, 25, 12, 22, 11, 90);

print_r(bubbleSort($array));

```

单元测试

```php

function testBubbleSort() {

$testCases = [

[

'input' => [64, 34, 25, 12, 22, 11, 90],

'expected' => [11, 12, 22, 25, 34, 64, 90]

],

[

'input' => [5, 1, 4, 2, 8],

'expected' => [1, 2, 4, 5, 8]

],

[

'input' => [],

'expected' => []

],

[

'input' => [3],

'expected' => [3]

]

];

foreach ($testCases as $testCase) {

$result = bubbleSort($testCase['input']);

if ($result === $testCase['expected']) {

echo "Test passed!n";

} else {

echo "Test failed. Expected: " . implode(', ', $testCase['expected']) . " but got: " . implode(', ', $result) . "n";

}

}

testBubbleSort();

```

以上就是关于“PHP冒泡排序法_PHP”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!

本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/78842.html

小末小末
上一篇 2024年10月17日 16:30
下一篇 2024年10月17日 16:40

相关推荐