冒泡排序法(Bubble Sort)
冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来,遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
PHP实现冒泡排序法
```php
function bubbleSort($arr) {
$n = count($arr);
for ($i = 0; $i
for ($j = 0; $j
if ($arr[$j] > $arr[$j + 1]) {
// 交换 arr[$j] 和 arr[$j+1]
$temp = $arr[$j];
$arr[$j] = $arr[$j + 1];
$arr[$j + 1] = $temp;
}
}
}
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