我决定为包含排序算法和搜索算法的语言创建帮助程序文件。我从 C 开始,想用 PHP 来制作相邻的内容。但我传递的数组没有被排序。 为什么?
<?php
function BubbleSort($array, $length)
{
for($i = 0; $i < $length - 1; ++$i)
{
for($j = 0; $j < $length - $i - 1; ++$j)
{
if($array[$j] > $array[j + 1])
{
$tmp = $array[$j];
$array[j] = $array[j + 1];
$array[j + 1] = $tmp;
}
}
}
}
$array = [5,2,3,1,2];
$size = 5;
print "Array is now: ";
for($i = 0; $i < $size; $i++)
{
print "{$array[$i]} ";
}
print "\n";
BubbleSort($array, $size);
for($i = 0; $i < $size; $i++)
{
print "{$array[$i]} ";
}
print "\n";
?>
最佳答案
您没有通过引用传递数组,因此您的函数必须返回该数组,然后您必须将其分配回原始数组。
前提是没有语法错误,老实说我没有看过。
关于php - 为什么冒泡排序从 C 移植到 PHP 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31283736/